zoukankan      html  css  js  c++  java
  • memcached cas操作

    cas操作解决问题:不同客户端,并发修改某个key对应的数据

    原理:用版本号来解决

    1. 存储tp的值
      1. set tp 0 600 9
        memcached
        STORED  
    2. 获取tp的值
      1. get tp
        VALUE tp 0 9
        memcached
        END
    3. gets获取token
      1. gets tp
        VALUE tp 0 9 7843
        memcached
        END
        

          说明:get和gets类似,不同在于,gets返回多一个 7843 ,这就是版本号,cas的时候需要带上

    4. 模拟多客户端修改数据
      1. set tp 0 600 8
        redisred
        STORED
        cas tp 0 900 6 7843
        hellow
        EXISTS
        gets tp
        VALUE tp 0 8 7844
        redisred
        END
        1. 第一个set命令修改了数据
        2. 第二个cas命令,用版本号7843修改数据,失败,返回exist
        3. 第三个gets命令,发现tp的版本号,变为7844
  • 相关阅读:
    字典树
    Floyd算法
    迪杰斯特拉算法---单源点最短路径
    二叉树的遍历
    图的遍历
    二叉排序树
    拓扑排序
    开发中框架的发展
    IOC
    JS操作JSON总结
  • 原文地址:https://www.cnblogs.com/maggie94/p/6830820.html
Copyright © 2011-2022 走看看