我们正在扩展 .NET couchbase 客户端以添加一些额外的功能(类似于事务,或者更确切地说是回滚),我关注的一件事是支持记录锁定。
我知道 check-and-set 会在没有 CAS 值的情况下阻止更新,但我想要做的是通过使用 couchbase 的 getlock 功能来防止脏读(这在 Python 客户端上可用,因此大概服务器,但不是 .NET 客户端)
我的第一个想法是它可能由 REST API 提供,但在做了一些研究之后,它看起来好像 API 只能用于查询视图。我知道 memcached 有一个 telnet 接口,但希望它在那里可用可能太过分了。如果它像在服务器端拨打电话一样简单,我猜它已经在客户端......
可以使用租出模型,但如果功能实在是遥不可及,则宁愿不走这条路。