1
有沒有辦法在每次部署後自動清除緩存?如何在部署時清除memcachier?
還是有一個命令,我可以運行清除它,類似於運行一個進程的命令?
例如Heroku的執行python manage.py執行syncdb
有沒有辦法在每次部署後自動清除緩存?如何在部署時清除memcachier?
還是有一個命令,我可以運行清除它,類似於運行一個進程的命令?
例如Heroku的執行python manage.py執行syncdb
最後,如果你想刪除緩存中的所有按鍵,使用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進行管理部署,因爲它允許您編寫自動化腳本以執行所有必需步驟(以及調用此清除緩存腳本)
謝謝。我希望它會更容易,但我想它不會比'heroku run python manage.py clear_cache'更簡單 – davierc
添加到Timmy的很好的答案中,您還可以通過客戶儀表板清除MemCachier的緩存。一個腳本可能是更簡單的方法,或者Fabric。 –
一個更正 - 「從django.core導入緩存」應該是從'django.core.cache導入緩存' – Greg