2

我正在尝试使用 memcached 为我的 rails 应用程序缓存表 t_abc。该表有 50,000 个条目。我最终想要 20,000 个密钥(格式为“abc_”+id)。当要在缓存中插入第 20,001 个条目时,我希望从缓存中删除这 20,000 个(上述形式的,而不是 memcached 中的其他一些键)中最近最少使用的键。我该如何做到这一点?

注意:我为所有条目保留到期 = 0。

4

1 回答 1

1

不,不幸的是,您无法有效地使用 memcached 做您想做的事情。

它有一个 LRU,可以处理您存储的所有数据。因此,如果您要存储来自多个表的数据,那么每个表占用的 memcached 条目的比例取决于不同表中数据访问的相对模式。

因此,要控制缓存表的行数,您实际上所能做的就是调整 memcached 的大小并改变存储的其他数据。

(此外,要评估 memcached 配置,您可能会考虑使用不同的指标,例如命中率或中值响应时间,而不是简单地缓存的行数。)

于 2013-11-18T03:30:59.803 回答