【问题标题】:In Django, how to clear all the memcached keys and values?在 Django 中,如何清除所有的 memcached 键和值?
【发布时间】:2010-12-09 20:32:55
【问题描述】:

我不想重启 memcached 服务器!

【问题讨论】:

  • 它对什么任务有用?
  • ...或者,如果您的 memcached 服务于多个应用程序并且您不想一次销毁所有内容!

标签: python django caching memcached


【解决方案1】:
from django.core.cache import cache
cache._cache.flush_all()

另见这张票,它有一个补丁(我没有测试过)来刷新任何类型的缓存后端:http://code.djangoproject.com/ticket/11503

【讨论】:

  • 对于任何需要它的人,缓存库位于 django.core.cache 中。所以要运行上面的命令,需要从 django.core.cache import cache 导入缓存
  • 我有 CACHE_MIDDLEWARE_ALIAS 指向一个非默认的 memcached 缓存,但该命令仍然尝试清除 default 并失败并显示 AttributeError: 'FileBasedCache' object has no attribute '_cache'
  • 这几天你可以用from django.core.cache import cache; cache.clear()
【解决方案2】:

还有来自控制台的一条线:

echo "from django.core.cache import cache; cache._cache.flush_all()" | ./manage.py shell [--settings=myapp.settings_live]

【讨论】:

    【解决方案3】:

    最简单快捷的方法:

    echo flush_all > /dev/tcp/localhost/11211
    

    【讨论】:

      猜你喜欢
      • 2012-06-25
      • 2011-08-09
      • 2012-09-10
      • 2017-08-30
      • 2012-09-11
      • 2012-06-30
      • 1970-01-01
      • 2020-10-19
      • 1970-01-01
      相关资源
      最近更新 更多