Memcached:04---基础命令(get、gets、delete、incr、decr)

一、get

  • get命令获取存储在key(键)中的value(数据值) 。
  • 如果key不存在,则返回空

格式

  • 基本语法格式如下:
get key
  • 多个key使用空格隔开,如下:
get key1 key2 key3

演示案例

  • 设置一个key,如下所示:
set runoob 0 900 9
memcached

Memcached:04---基础命令(get、gets、delete、incr、decr)

  • 获取该key的值:
get runoob

Memcached:04---基础命令(get、gets、delete、incr、decr)

二、gets

  • gets 命令获取带有CAS令牌value(数据值) 。
  • 如果key不存在,则返回空。

格式

  • 基本语法格式如下:
gets key
  • 多个key使用空格隔开,如下:
gets key1 key2 key3

演示案例

  • 设置一个key,如下所示:
set runoob 0 900 9
memcached

Memcached:04---基础命令(get、gets、delete、incr、decr)

  • 获取该key的cas_token参数,值为19
gets runoob

Memcached:04---基础命令(get、gets、delete、incr、decr)

三、delete

  • delete命令用于删除已存在的key(键)。

格式

delete key [noreply]
  • 参数说明如下:
    • key:键值 key-value 结构中的key,用于查找缓存值。
    • noreply(可选):该参数告知服务器不需要返回数据。

输出信息

  • DELETED:删除成功。
  • ERROR:语法错误或删除失败。
  • NOT_FOUND:key 不存在。

演示案例

  • 设置一个名为runoob的key:
set runoob 0 900 9
memcached

Memcached:04---基础命令(get、gets、delete、incr、decr)

  • 获取key的内容:
get runoob

Memcached:04---基础命令(get、gets、delete、incr、decr)

  • 删除该key:
delete runoob

Memcached:04---基础命令(get、gets、delete、incr、decr)

  • 再次获取key:
get runoob

Memcached:04---基础命令(get、gets、delete、incr、decr)

  • 再次删除该key
delete runoob

Memcached:04---基础命令(get、gets、delete、incr、decr)

四、incr、decr

  • incr与decr命令用于对已存在的 key(键) 的数字值进行自增或自减操作
  • incr与decr命令操作的数据必须是十进制的32位无符号整数

incr格式

incr key increment_value
  • 参数说明如下:
    • key:键值 key-value 结构中的 key,用于查找缓存值。
    • increment_value: 增加的数值。

演示案例

  • 设置一个key,值为10:
set visitors 0 900 2
10

Memcached:04---基础命令(get、gets、delete、incr、decr)

  • 获取key的值:
get visitors

Memcached:04---基础命令(get、gets、delete、incr、decr)

  • 将key的值增加5:
incr visitors 5

Memcached:04---基础命令(get、gets、delete、incr、decr)

  • 再次获取key的值:
get visitors

Memcached:04---基础命令(get、gets、delete、incr、decr)

decr格式

decr key decrement_value

 

  • 参数说明如下
    • key:键值 key-value 结构中的 key,用于查找缓存值。
    • decrement_value: 减少的数值。

演示案例

  • 设置一个key,值为10:
set visitors 0 900 2
10

Memcached:04---基础命令(get、gets、delete、incr、decr)

  • 获取key的值:
get visitors

Memcached:04---基础命令(get、gets、delete、incr、decr)

  • 将key的值减去5:
decr visitors 5

Memcached:04---基础命令(get、gets、delete、incr、decr)

  • 再次获取key的值:
get visitors

Memcached:04---基础命令(get、gets、delete、incr、decr)

输出信息

  • NOT_FOUND:key 不存在。
  • CLIENT_ERROR:自增/自减值不是对象。
  • ERROR:其他错误,如语法错误等。

应用场景(秒杀功能)

  • 一个人下单,要牵涉数据库读取,写入订单,更改库存,及事务要求,对于传统型数据库来说,压力是巨大的。可以利用 memcached 的 incr/decr 功能,在内存存储 count 库存量,秒杀 1000 台 每人抢单主要在内存操作,速度非常快,抢到 count<=1000 的号人,得一个订单号,再去另一个页面慢慢支付
上一篇:程序员表白代码来了,喜欢就拿去用吧!


下一篇:Memcached:03---存储命令(set、add、replace、append、prepend、cas)