【问题标题】:are single redis commands executed in isolation?单个redis命令是单独执行的吗?
【发布时间】:2012-02-20 08:16:45
【问题描述】:

我正在使用 Node 和 Redis。

如果我发出 redis.set() 命令,是否有可能在设置该命令时,使用旧值进行另一次读取?

【问题讨论】:

    标签: node.js redis


    【解决方案1】:

    不,你永远不会有这个问题。 Redis 的基本优点之一是它有一个紧密的事件循环来执行命令,因此它们自然是原子的。

    This page 有更多关于该主题的内容(参见副标题“原子性”),以及关于 Redis 的一般信息。

    【讨论】:

      【解决方案2】:

      假设您正在谈论两个真正的并发访问,一次写入和一次读取,那么这个问题基本上没有任何意义。如果写入本身是原子的,并且该值永远不会被视为旧值或新值之外的任何其他值,那么与写入者“大约同时”阅读的读者可能会合法地看到旧值或新值。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-03-03
        • 1970-01-01
        • 2013-09-10
        • 2013-03-22
        • 2011-08-13
        • 1970-01-01
        • 2019-04-05
        • 2013-10-20
        相关资源
        最近更新 更多