有没有办法在每次部署后自动清除缓存?
或者是否有一个命令可以运行以清除它,类似于运行进程的命令?
e.g。 heroku运行python manage.py syncdb
答案 0 :(得分:3)
最后,如果要删除缓存中的所有密钥,请使用cache.clear()。小心这个; clear()将删除缓存中的所有内容,而不仅仅是应用程序设置的密钥。
所以一种方法是write a management command manually进行此调用。在您的某个应用myapp/management/commands/clear_cache.py
中创建一个新模块:
from django.core.management.base import BaseCommand
from django.core import cache
class Command(BaseCommand):
help = 'Clears the underlying cache'
def handle(self, *args, **options):
cache.clear()
现在可以致电python manage.py clear_cache
。您应该查看Fabric来管理部署,因为它允许您编写自动脚本来执行所有必需的步骤(以及调用此清除缓存脚本)