在将redis中的实体存储为序列化二进制blob的应用程序中工作.我有多个客户端在同一个数据集上工作,我希望使用乐观并发.
我的要求是这些:
在一次往返中读取序列化实体以获取特定键
将修改后的实体写回redis.如果任何其他客户端在读取和写入之间修改了实体,则操作将失败
这可以用redis做吗?如果是这样的话:应该执行哪些redis命令来执行此操作?
WATCH key
,GET key
,MULTI
,SET key
,然后EXEC
.EXEC
如果自执行以来键的值已更改,则将失败WATCH
.
http://redis.io/topics/transactions#cas