【发布时间】:2011-08-22 04:43:48
【问题描述】:
我正在尝试使用 Memcached 来缓存所有多语言字符串,而不是对所有 PHP 页面使用大数组。
我所做的是从数据库中获取翻译后的短语,并在循环中将每个短语设置为 memcached:
while (fetching database) {
$memcached->set($language.':'.$string_id, $translation, 0, 0);
}
问题是,它们中的大多数(不是全部,似乎是随机的)在之后自动“过期”,不知道为什么。
这些是我的统计数据:
服务器当前可用内存:超过 1GB
Memcached 总空间:16MB
当前使用的 Memcached:2.66MB
当我运行循环时,“驱逐”统计数据(删除项目以释放新项目的内存)增加分配。这对我来说没有多大意义,因为我设置为永不过期,而且 memcached 仍然有很多可用空间。
有人知道会发生什么吗?
谢谢。
【问题讨论】:
标签: memcached