Memcached的incr
和decr
命令用于对已存在的键(key)的数字值进行自增或自减操作。这两个命令操作的数据必须是十进制的32位无符号整数。如果键不存在,将返回NOT_FOUND
;如果键的值不为数字,则返回CLIENT_ERROR
;其他错误则返回ERROR
。
incr命令
语法:
incr key increment_value
key
:键值key-value结构中的key,用于查找缓存值。increment_value
:增加的数值。
实例:
假设我们有一个键visitors
,其初始值为10,我们想要将其增加5:
- 设置
visitors
的值:set visitors 0 900 2
,返回STORED
。 - 获取
visitors
的值:get visitors
,返回VALUE visitors 0 2
。 - 对
visitors
的值增加5:incr visitors 5
,返回15
。 - 再次获取
visitors
的值:get visitors
,返回VALUE visitors 0 2
。
decr命令
语法:
decr key decrement_value
key
:键值key-value结构中的key,用于查找缓存值。decrement_value
:减少的数值。
实例:
假设我们有一个键visitors
,其初始值为10,我们想要将其减少5:
- 设置
visitors
的值:set visitors 0 900 2
,返回STORED
。 - 获取
visitors
的值:get visitors
,返回VALUE visitors 0 2
。 - 对
visitors
的值减少5:decr visitors 5
,返回5
。 - 再次获取
visitors
的值:get visitors
,返回VALUE visitors 0 1
。
这些命令对于实现计数器或任何需要原子性增量的场景非常有用【0†source】【2†source】。