将memcache数据保存到文件或数据库

时间:2012-03-09 16:12:27

标签: php database file memcached

我们正在运行一个执行财务建模的网站,memcache需要一段时间来构建其缓存。例如,1周后,点击次数仅为48%,使用的缓存为2GB(已分配5GB)。由于我们不希望在服务器崩溃或需要重新启动时丢失缓存,我们希望将其保存在某处。

问:将memcache缓存的内容永久存储在某个地方(并恢复该内容)的最佳选择是什么?

到目前为止,我们还没有看到memcache达到%命中率没有提高的程度。我们知道,我们会快速获得30%点击数据300MB,这与共享内容的缓存相对应。之后,对象变得更大并且创建频率更低。通过查看我们的munin图表,我会说我们可以在2到3个月内达到我们最好的%次点击。我真的认为我们有一个保存memcache数据的案例。

enter image description here

仅供参考我没有添加显示点击/未命中%的图表,因为它的演变速度太慢而且不易读取。

2 个答案:

答案 0 :(得分:1)

您可以尝试:

或者您可以在此处找到有关StackOverflow的更多提示:alternative to memcached that can persist to disk

答案 1 :(得分:1)

我不建议在金融生产环境中使用Redis,此时它不稳定。这是值得关注的事情。

CouchBase是一种解决方案。

你也可以使用repcached(http://repcached.lab.klab.org/)将memcache数据复制到第二个memcache守护进程,以防第一个崩溃,你仍然拥有所有的memcache数据。如果你愿意的话,你也可以使用这种类型的设置来平衡你的memcache使用率,我已经使用它已经很长一段时间了,并且非常满意它的性能。