首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django KEY_PREFIX诉CACHE_MIDDLEWARE_KEY_PREFIX

Django KEY_PREFIX诉CACHE_MIDDLEWARE_KEY_PREFIX
EN

Stack Overflow用户
提问于 2013-09-05 15:35:11
回答 1查看 2.3K关注 0票数 2

到目前为止,我一直在为我的4个站点使用一个memcached实例。对于其中的三个,我使用KEY_PREFIX,因为文档意味着我需要这样做。一切都很好,但现在我需要定期清除列表视图(就像添加条目时一样)。我找到了一个清除页面的道路,当我遇到CACHE_MIDDLEWARE_KEY_PREFIX时,我正在检查它是如何工作的,现在我很困惑。

  1. KEY_PREFIX似乎从未被使用过,除非您手动定义了一个键,然后它才被实际使用。这是真实的说法吗?具体来说,关于使用KEY_PREFIX的文档似乎不准确?
  2. 似乎我应该在我的设置文件中这样做,以确保它们是对齐的,但是我不想重复这个键(demo:demo:)。这真的会重复吗? KEY_PREFIX = CACHE_MIDDLEWARE_KEY_PREFIX =“演示:”

我真的很想了解这两个机制是如何运作的。我开始怀疑他们真的不一样

EN

回答 1

Stack Overflow用户

发布于 2014-10-21 10:07:27

我觉得你现在还不太合适。

对于第1点,在使用不同的django安装共享同一个缓存时,KEY_PREFIX是最重要的设置,但它的使用方式如下:

代码语言:javascript
复制
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一起使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18640498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档