0

我正在使用 flush all 命令删除 Memcache 服务器上的所有键/值对。

虽然值被删除,但通过 phpMemcachedAdmin 查看 Memcache 服务器时有两件事我无法理解

  1. 全部刷新后内存使用量不会重置为 0。我仍然有 77% 使用和 22% 浪费(只是一个例子,但你明白了)。这怎么可能?

  2. 所有先前的带有先前项目的平板仍然存在。例如,查看特定的平板会显示所有先前的键/值对,尽管使用了 flush all 命令。这怎么可能?

谢谢

4

1 回答 1

0

发生这种情况是因为 memcache 在读取时刷新,而不是在写入时刷新。当您 flush_all 时,该操作是为性能而设计的:它只是意味着超出该时间的任何读取都将立即过期,即使它仍在缓存中。它只是更新一个数字,然后在每次提取时检查它。

这种优化显着提高了内存缓存性能。想象一下,如果其他几个人同时搜索或插入同花顺。

于 2014-04-03T15:05:04.173 回答