加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

数据库 – 什么是nosql中的CAS以及如何使用?

发布时间:2020-12-12 16:44:56 所属栏目:MsSql教程 来源:网络整理
导读:Coucbahse的写操作接受参数cas(创建和设置).此外,任何非数据提取查询的返回结果对象都具有其中的cas属性.我google了一下,找不到关于它的一个很好的概念文章. 有人可以告诉我什么时候使用CAS,怎么办?使用CAS的常见工作流程应该是什么? 我的猜测是我们需要为
Coucbahse的写操作接受参数cas(创建和设置).此外,任何非数据提取查询的返回结果对象都具有其中的cas属性.我google了一下,找不到关于它的一个很好的概念文章.

有人可以告诉我什么时候使用CAS,怎么办?使用CAS的常见工作流程应该是什么?

我的猜测是我们需要为第一次写入操作提取CAS,然后再与下一次写入一起传递.此外,我们需要使用结果的CAS进行更新.纠正我,如果我错了

解决方法

CAS实际上代表检查,是一种乐观锁定的方法. CAS值或ID与文档更改时更新的每个文档相关联 – 有点像修订版本号.意图是,不要悲观地锁定文档(和相关联的锁开销),只是读取它的CAS值,然后只有在CAS匹配时才执行写操作.

一般用例是:

>读取现有文档,并获取当前的CAS(get_with_cas)
>为该文档准备一个新值,假设没有其他人修改了该文档(因此导致CAS更改).
>使用check_and_set操作写入文档,提供(1)中的CAS值.

如果在(1)和(3)之间的文档不变,则步骤3将仅成功(执行写入),即没有其他用户在此期间进行了修改.通常,如果(3)失败,您将重试整个序列(get_with_cas,modify,check_and_set).

“Couchbase开发人员指南”中的“Check and Set (CAS)”有更详细的检查和设置描述.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读