最初文件是State-A。它随着状态B的更新而到期。到期后,文档将自动更新为State-A。如果没有,实现它的解决方案是什么?
答案 0 :(得分:1)
更新文档后,先前的数据丢失。所以你不能只恢复到以前的状态。你可以做的是手动实现版本。
例如,您的应用程序包含带有键foo
的文档,然后您可以在幕后执行以下操作:
设置
my_set("foo", "bar")
转换为
v = incr("foo:ver")
set("foo:" + v, "bar")
并获得
my_get("foo")
转换为
v = get("foo:ver")
loop do
doc = get("foo:" + v)
v -= 1
break if v < 0 || doc.present?
end
我这个伪代码我已经展示了基本的想法,当然它可能会被优化,比如在成功获得后更新计数器。
在此设置中,my_set()
可以接受到期时间,并且所有先前的值都将被安全存储。