到目前为止,我一直在为我的4个站点使用一个memcached实例。对于其中的三个,我使用KEY_PREFIX,因为文档意味着我需要这样做。一切都很好,但现在我需要定期清除列表视图(就像添加条目时一样)。我找到了一个清除页面的道路,当我遇到CACHE_MIDDLEWARE_KEY_PREFIX时,我正在检查它是如何工作的,现在我很困惑。
KEY_PREFIX的文档似乎不准确?我真的很想了解这两个机制是如何运作的。我开始怀疑他们真的不一样
发布于 2014-10-21 10:07:27
我觉得你现在还不太合适。
对于第1点,在使用不同的django安装共享同一个缓存时,KEY_PREFIX是最重要的设置,但它的使用方式如下:
CACHES = {
'default': {
"BACKEND": "redis_cache.cache.RedisCache",
"LOCATION": "127.0.0.1:6379:1",
"KEY_PREFIX": 'site-cache-prefix',
"OPTIONS": {
"CLIENT_CLASS": "redis_cache.client.DefaultClient",
}
}
}这意味着每个django实例在访问缓存时将使用不同的前缀。这可能就是你想要的。如果您确实希望在您的站点之间具体地共享缓存,那么添加另一个名为“shared”的缓存别名可能是可行的。
CACHE_MIDDLEWARE_KEY_PREFIX专门用于django的缓存中间件,它将与我相信的KEY_PREFIX一起使用。
https://stackoverflow.com/questions/18640498
复制相似问题