【发布时间】:2014-04-11 12:51:55
【问题描述】:
我想知道它是否是典型的,甚至是否支持“分层”memcached 实例。例如,您有两台 memcached 服务器,一台“本地”和一台“远程”。有没有办法从“本地”服务器请求某些东西,这样如果缓存未命中,请求就会传递到远程服务器?即本地服务器向远程服务器请求该项目,并将结果缓存在本地,下一次对该项目的请求将从本地缓存中获取。
或者是这样做的唯一方法,在你的应用程序代码中做这样的事情(伪代码,我希望它很清楚):
item := get(local, id)
if (!isValid(item)) {
item = get(remote, id)
if (isValid(item)) {
set(local, id, item)
} else {
// get the item from somewhere else
}
}
// do something with item
我想到的用途是缓存不可变对象,因此两个缓存之间的一致性不是问题。
【问题讨论】:
标签: caching architecture memcached