【问题标题】:Search for a key in django.core.cache在 django.core.cache 中搜索一个键
【发布时间】:2015-06-05 07:52:53
【问题描述】:

我正在使用 django 编写一个简单的实时聊天应用程序。我将有关聊天会话的数据保存在我的 Chat 类的静态变量中。在本地它确实有效。

我在 heroku 上部署了一个应用的测试版本,但 heroku 是一个云平台。不同线程中的类变量之间没有同步。

所以我决定使用 memcached。但我找不到 django.core.cache 是否允许在缓存中搜索键或遍历整个缓存以检查值。解决此问题的最佳方法是什么?

【问题讨论】:

    标签: python django heroku memcached


    【解决方案1】:

    Memcached 只允许您通过它们的键获取/设置条目。您不能迭代这些条目来检查某些内容。但是,如果您的缓存键是连续的(如 sess1、sess2 等),您可以尝试在循环中检查是否存在:

    for i in range(1000):
        sess = cache.get('sess%s' % i)
        # some logic
    

    但无论如何,这似乎是一个糟糕的设计决定。我没有关于你在做什么的足够信息,但我猜某种持久性存储(如数据库)会很好用。你也可以考虑http://redis.io/,它比 memcached 有更多的功能,但仍然非常快。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-28
      相关资源
      最近更新 更多