【发布时间】:2014-04-25 09:36:50
【问题描述】:
我知道redis会自行过期keys,释放内存 并且想知道 memcached 的行为是否相同。
假设我有一种很少过期的缓存键
(我们称它们为 A),另一种每 5 分钟到期一次,
使用 Ruby on Rails 的 expires_in: 5.minutes(我们称它们为 B)
如果 B 键太多,memcached 会丢弃 A 键吗?
例如,如果我可以在我的商店中存储 5 个值,那么一个场景可能是:
- 存储 A1(剩余 4 个值)
- 存储 B1(剩余 3 个值)
- 存储 B2(剩余 2 个值)
- 存储 B3(剩余 1 个值)
- 存储 B4(剩余 0 个值)
此时B1、B2、B3都过期了(因为它们的生命周期是如此 短)。
如果我在缓存中存储另一个元素会发生什么?会掉A1吗 因为它是最古老的,或者它会知道 B 键是短暂的并且 首先使用他们在记忆中的位置?
【问题讨论】:
-
可能看到this answer。
标签: caching memcached cache-control