ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-02-11 10:30:38  阅读:299  来源: 互联网

标签:incr 04 runoob get value key decr


一、get

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

格式

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

演示案例

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

  • 获取该key的值:
get runoob

二、gets

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

格式

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

演示案例

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

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

三、delete

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

格式

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

输出信息

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

演示案例

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

  • 获取key的内容:
get runoob

  • 删除该key:
delete runoob

  • 再次获取key:
get runoob

  • 再次删除该key
delete runoob

四、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

  • 获取key的值:
get visitors

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

  • 再次获取key的值:
get visitors

decr格式

decr key decrement_value

 

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

演示案例

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

  • 获取key的值:
get visitors

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

  • 再次获取key的值:
get visitors

输出信息

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

应用场景(秒杀功能)

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

标签:incr,04,runoob,get,value,key,decr
来源: https://blog.csdn.net/qq_41453285/article/details/113788261

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有