【发布时间】:2012-02-20 08:16:45
【问题描述】:
我正在使用 Node 和 Redis。
如果我发出 redis.set() 命令,是否有可能在设置该命令时,使用旧值进行另一次读取?
【问题讨论】:
我正在使用 Node 和 Redis。
如果我发出 redis.set() 命令,是否有可能在设置该命令时,使用旧值进行另一次读取?
【问题讨论】:
不,你永远不会有这个问题。 Redis 的基本优点之一是它有一个紧密的事件循环来执行命令,因此它们自然是原子的。
This page 有更多关于该主题的内容(参见副标题“原子性”),以及关于 Redis 的一般信息。
【讨论】:
假设您正在谈论两个真正的并发访问,一次写入和一次读取,那么这个问题基本上没有任何意义。如果写入本身是原子的,并且该值永远不会被视为旧值或新值之外的任何其他值,那么与写入者“大约同时”阅读的读者可能会合法地看到旧值或新值。
【讨论】: