有什么更好的方法来更新 memcache set() 或 replace() 中经常存在的键?
观察:
我观察到 set vs replace 对驱逐的影响。任何人都可以确认这两个操作与内存管理点有什么区别吗?
有什么更好的方法来更新 memcache set() 或 replace() 中经常存在的键?
观察:
我观察到 set vs replace 对驱逐的影响。任何人都可以确认这两个操作与内存管理点有什么区别吗?
正如观察中提到的,当我们使用 set() 操作更新已知密钥时,我们会被驱逐。我们更新密钥的频率确实不可预测且非常高。您可以将我们的案例与竞争资源的某种锁实现联系起来。
在使用一些密钥进行实验后,这些密钥会非常频繁地更新。我们观察到 replace() 不会导致任何驱逐,但 set() 确实会导致驱逐。
在浏览了 memcache docs here和here之后,得出的结论是
因此,对于“更新常用密钥”的问题,至少对于我们的用例来说,替换是更好的选择。它帮助我们避免了驱逐。