我正在使用Node和Redis。
如果我发出redis.set()命令,是否有可能在设置时,旧值会发生另一次读取?
答案 0 :(得分:4)
不,你永远不会有这个问题。 Redis的一个基本优点是它有一个紧密的事件循环来执行命令,所以它们自然是原子的。
This page有更多关于这个主题的内容(请参阅小标题“Atomicity”),以及关于Redis的更多内容。
答案 1 :(得分:1)
假设您正在谈论两个真正的并发访问,一个写入和一个读取,这个问题基本上没有任何意义。如果一个写本身是原子的,并且该值永远不会被视为旧值或新值以外的任何值,那么与作者“大约在同一时间”读取的读者可以合法地看到旧值或新值。