memcached在时间之前到期

时间:2011-05-10 06:02:14

标签: memcached

我正在尝试使用Memcached来缓存所有多语言字符串,而不是为所有PHP页面使用大数组。

我所做的是从数据库中获取翻译的短语,并在循环中将每个短语设置为memcached:

while (fetching database) {
$memcached->set($language.':'.$string_id, $translation, 0, 0);
}

问题是,大多数(并非所有,似乎是随机的)都会自动“过期”,不知道为什么。
这些是我的统计数据:

服务器目前的免费内存:超过1GB
总Memcached空间:16MB
目前Memcached使用:2.66MB

当我运行循环时,“驱逐”统计数据(删除项目以释放​​新项目的内存)会增加分配。这对我来说没什么意义,因为我设置永不过期,memcached仍有很多可用空间。

有谁知道可能会发生什么? 谢谢。

1 个答案:

答案 0 :(得分:1)

0不是30天,它是0(即不会过期)。

16MB不足以使用。你正在快速地吹掉你的一块板,并试图将数据存储到另一块并没有任何空间。

如果确实希望它适合16MB以内,您可以调整平板以使它们具有固定大小。可能更容易让它足够用于处理各种数据量。