每个模型的django缓存清除
roan的Python项目详细描述
Roan是每种型号的URL清除Django应用程序。它连接到模型信号并清除保存、更新或删除模型的url。
开始
配置
Roan仅使用可选设置:ROAN_PURGE_URL。如果不指定,则为http://localhost/purge。
配置示例:
ROAN_PURGE_URL = 'http://nginx.souza.cc/clean'
nginx proxy_缓存支持
因为roan是基于个人需求的,所以它基于nginx的proxy_cache。
假设您有以下清除映射:
location ~ /purge(/.*) { allow 127.0.0.1; deny all; proxy_cache_purge roan "$scheme://$host$1"; }
现在假设您有以下Django模型:
class Post(models.Model): title = models.CharField(max_length=100) content = models.TextField()
你有一个url /posts,用户可以在这里看到帖子列表。如何设置永久缓存并期望刷新缓存 每次保存新邮件时?或者每当一篇文章被更新或删除?
使用roan可以将一个或多个模型连接到一个或多个url。所以您可以将Post模型与/postsurl连接, 无论何时保存、更新或删除帖子,roan都会向/purge/postsurl发出请求。
用法
一旦安装并配置了roan,只需在django执行的文件中调用它(例如:应用程序的models.py)。 下面是上面示例的代码,每当保存或删除帖子时清除/postsurl:
from roan import purge from models import Post purge("/posts").on_save(Post) purge("/posts").on_delete(Post)