【问题标题】:Why memcached set operation is not idempotent?为什么memcached set操作不是幂等的?
【发布时间】:2020-05-05 06:54:35
【问题描述】:

在 Facebook 的论文“Scaling Memcache at Facebook”的第 2 页上,他们说“对于写入请求,网络服务器向数据库发出 SQL 语句,然后向 memcache 发送删除请求,使任何陈旧数据无效。我们选择删除缓存数据而不是更新它,因为删除是幂等的。"

为什么更新/设置不是幂等操作?

论文可以在这里找到:https://www.usenix.org/system/files/conference/nsdi13/nsdi13-final170_update.pdf

【问题讨论】:

    标签: memcached idempotent


    【解决方案1】:

    如果您在另外两次之后调用一次删除,则第二次删除不会产生任何效果。此处的更新/设置会有所不同:虽然它不会更改与密钥关联的值,但它会更新密钥的最后访问时间,从而更改密钥何时被驱逐的逻辑。从这个意义上说,删除键操作是幂等的,而更新键的值不是。

    例如在论文中,如果没有人尝试读取它,他们不想在缓存中保留一个键(即使数据库中有很多对该键的写入)。

    【讨论】:

      猜你喜欢
      • 2010-11-07
      • 1970-01-01
      • 2019-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多