【发布时间】:2011-10-26 05:27:08
【问题描述】:
我想使用 2 个缓存——内存中默认的一个和一个 memcache 一个,尽管抽象地说(我认为)哪两个并不重要。
内存中的默认值是我要加载小的且很少更改的数据的地方。到目前为止,我一直在使用内存。我从数据库中保留了一堆“域数据”类型的东西,我还有一些来自外部来源的小数据,我每 15 分钟到 1 小时刷新一次。
我最近添加了内存缓存,因为我现在提供一些更大的资产。我如何进入这个有点复杂,但这些更大〜千字节,数量相对较少(数百),并且高度可缓存 - 它们会改变,但每小时刷新一次可能太多了。这个集合可能会增长,但它在所有主机之间共享。刷新很昂贵。
第一组数据使用默认内存缓存已经有一段时间了,一直表现良好。 Memcache 非常适合第二组数据。
我已经调整了 memcache,它对第二组数据非常有效。问题是,由于我的现有代码“认为”它位于本地内存中,因此每个请求我都会多次访问 memcache,这增加了我的延迟。
所以,我想使用 2 个缓存。想法?
(注意:memcache 与我的服务器在不同的机器上运行。即使我在本地运行它,我也有一组主机,所以它不会是所有本地的。另外,我想避免需要只是得到更大的机器.即使我可能可以通过扩大内存并只使用内存来解决这个问题(数据真的没那么大),但这并不能解决我扩展的问题,所以它只会踢罐子。)
【问题讨论】: