3

根据文档,memcache 单元的最大生命周期为一个月,除非由于服务器内存容量问题而将其删除。

我的应用程序将 {'customer_id':'customer_name'} 存储在内存缓存(1600 多个项目)中,用于自动完成和客户索引需求。

继承人的代码:

memcache.add('keys', keys, time=86400) #if 'keys' is absent, then all memcache items are regenerated.
memcache.add_multi(names, time=86500, key_prefix='customer_id_')

问题是我的大部分条目都会在一个小时左右过期,只剩下 10 或 11 项。文档还说,如果未设置时间,则 memcache 项的默认生命周期为一小时。

那么我是否错误地设置了memcache的生命周期(如果是这样,为什么它会留下10个项目)或者谷歌memcache对于11个以上的项目是否不可靠(在这种情况下我应该怎么做?以某种方式将这些数据存储在XML中?)?

4

1 回答 1

0

我的安静应用的当前统计数据显示,它可以轻松容纳数百个项目几个小时:

Item count:         285 item(s)
Total cache size:   5462609 byte(s)
Oldest item age:    11 hour(s) 38 min(s) 29 second(s)

如果您有 1600 项,并且一项(键+数据)大小小于 500 字节,我建议将它们全部存储在一个内存缓存条目中作为字典或其他东西。

于 2013-03-19T04:57:12.487 回答