跳转到主要内容

Django按模型缓存清理

项目描述

Roan是一个按模型URL清理的Django应用。它连接到模型信号,并在模型保存、更新或删除时清理URL。

入门指南

安装

您可以使用pip安装Roan

$ [sudo] pip install roan

唯一的依赖项是requests,它将由pip自动安装(如果您没有使用--no-deps参数)。

配置

Roan仅使用一个可选设置:ROAN_PURGE_URL。如果您未指定,它将是http://localhost/purge

配置示例

ROAN_PURGE_URL = 'http://nginx.souza.cc/clean'

nginx代理缓存支持

由于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模型与/posts URL,每当Post被保存、更新或删除时,Roan都会向/purge/posts URL发起请求。

用法

一旦安装并配置了Roan,您只需在Django执行文件中调用它(例如:您的应用中的models.py文件)。以下是上述示例代码,用于在每次保存或删除帖子时清除/posts URL。

from roan import purge
from models import Post

purge("/posts").on_save(Post)
purge("/posts").on_delete(Post)

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

roan-0.1.tar.gz (2.5 kB 查看哈希值)

上传时间

由以下支持