第10章 Memcached CAS 命令教程

Memcached CAS(Check-And-Set 或 Compare-And-Swap) 命令用于执行一个"检查并设置"的操作

它仅在当前客户端最后一次取值后,该key 对应的值没有被其他客户端修改的情况下, 才能够将值写入。

检查是通过cas_token参数进行的, 这个参数是Memcach指定给已经存在的元素的一个唯一的64位值。

语法:

CAS 命令的基本语法格式如下:


    cas key flags exptime bytes unique_cas_token [noreply]
    value

参数说明如下:

  • **key:**键值 key-value 结构中的 key,用于查找缓存值。
  • flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。
  • exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
  • bytes:在缓存中存储的字节数
  • unique_cas_token通过 gets 命令获取的一个唯一的64位值。
  • noreply(非必输): 该参数告知server 不需要return 数据
  • value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)

实例

要在 Memcached 上使用 CAS 命令,大神需要从 Memcached 服务商通过 gets 命令获取令牌(token)。

gets 命令的功能类似于基本的 get 命令。两个命令之间的差异在于,gets return 的信息稍微多一些:64 位的整型值非常像名称/值对的 “版本” 标识符。

实例步骤如下:

  • 如果没有设置唯一令牌,则 CAS 命令执行错误。
  • 如果键 key 不存在,执行失败。
  • 添加键值对。
  • 通过 gets 命令获取唯一令牌。
  • 使用 cas 命令更新数据
  • 使用 get 命令查看数据是否更新

    cas tp 0 900 9
    ERROR             <− 缺少 token
    
    cas tp 0 900 9 2
    memcached
    NOT_FOUND         <− 键 tp 不存在
    
    set tp 0 900 9
    memcached
    STORED
    
    gets tp
    VALUE tp 0 9 1
    memcached
    END
    
    cas tp 0 900 5 1
    redis
    STORED
    
    get tp
    VALUE tp 0 5
    redis
    END

输出

如果数据添加成功,则输出:


    STORED

输出信息说明:

  • STORED:保存成功后输出。
  • ERROR:保存出错或语法错误。
  • EXISTS:在最后一次取值后另外一个用户也在更新该数据。
  • NOT_FOUND:Memcached 服务上不存在该键值。

本专栏所有文章

第1章 Memcached 教程第2章 Linux Memcached 安装教程
第3章 Window Memcached 安装教程第4章 Memcached 连接教程
第5章 Memcached set 命令教程第6章 Memcached add 命令教程
第7章 Memcached replace 命令教程第8章 Memcached append 命令教程
第9章 Memcached prepend 命令教程第10章 Memcached CAS 命令教程
第11章 Memcached get 命令教程第12章 Memcached gets 命令教程
第13章 Memcached delete 命令教程第14章 Memcached incr/decr 命令教程
第15章 Memcached stats 命令教程第16章 Memcached stats items 命令教程
第17章 Memcached stats slabs 命令教程第18章 Memcached stats sizes 命令教程
第19章 Memcached flush_all 命令教程第20章 Java 连接 Memcached 服务教程
第21章 PHP 连接 Memcached 服务教程

寄语

本文有榴莲酱CSDN原创,欢迎点赞、转载,博客地址:https://blog.csdn.net/qq441540598

  • 说人性简单,却有无穷的变化。总之,千万别你认为你以为的就是你以为的。
  • 青春的可贵并不是因为那些年轻时光,而是那颗盈满了勇敢和热情的心,不怕受伤,不怕付出,不怕去爱,不怕去梦想。
  • 客户意见,就是命令;客户满意,就是准则;客户口碑,就是金杯;客户夸奖,就是金奖。
  • 即使自身无法将慈悲修到佛祖那样的程度,也应该将慈悲融入到日常生活中去。
  • 生命为我们提供了追求的基础而不是追求的包袱。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

榴莲酱csdn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值