我正在使用Redis用C#开发一个应用程序,我们需要每隔5秒操作一次密钥并将其写回。
我们的应用程序必须在一个非常小的设备上运行,其SD卡(IoT)不是很耐用,因此一直执行大量写入在未来可能会成为一个问题。
我们在码头集装箱中启动Redis时:
redis-server --save 60 1 --loglevel warning
在99.9%的情况下,我们要写入的值将与我们以前读到的值相同(这实际上是正确的,而不是高估)。
操作顺序为:
1.获取对象的当前值(它是我们正在保存的C#对象)
1.执行一些在极少数情况下可能会更新对象的操作
1.写回对象
因为在C#中使用Watch是不可能的,但是我们需要确保我们是原子的,所以我们需要一直将对象写回Redis。
我的问题是:
Redis持久化算什么?是集合本身,还是只有在有实际更新时才算数?
我们使用Newtonsoft JsonConvert进行序列化/反序列化,因此相同的对象将产生相同的字符串。
1条答案
按热度按时间eqfvzcg81#
所以这就是答案。
我用一个新的Redis示例进行了尝试,遗憾的是,Redis将每个集合计算为数据中的更改,因此将执行快照,即使它具有已经存在的值。