详解Django框架中的视图级缓存

作者:goldensun 时间:2021-02-02 02:13:33 

更加颗粒级的缓存框架使用方法是对单个视图的输出进行缓存。 django.views.decorators.cache定义了一个自动缓存视图响应的cache_page装饰器。 他是很容易使用的:


from django.views.decorators.cache import cache_page

def my_view(request):
 # ...

my_view = cache_page(my_view, 60 * 15)

也可以使用Python2.4的装饰器语法:


@cache_page(60 * 15)
def my_view(request):
 # ...

cache_page 只接受一个参数: 以秒计的缓存超时时间。 在前例中, “my_view()” 视图的结果将被缓存 15 分钟。 (注意: 为了提高可读性,该参数被书写为 60 * 15 。 60 * 15 将被计算为 900 ,也就是说15 分钟乘以每分钟 60 秒。)

和站点缓存一样,视图缓存与 URL 无关。 如果多个 URL 指向同一视图,每个视图将会分别缓存。 继续 my_view 范例,如果 URLconf 如下所示:


urlpatterns = ('',
 (r'^foo/(\d{1,2})/$', my_view),
)

那么正如你所期待的那样,发送到 /foo/1/ 和 /foo/23/ 的请求将会分别缓存。 但一旦发出了特定的请求(如: /foo/23/ ),之后再度发出的指向该 URL 的请求将使用缓存。

标签:Django,缓存
0
投稿

猜你喜欢

  • python实现数组求和与平均值

    2021-09-27 07:15:49
  • python 爬虫 实现增量去重和定时爬取实例

    2022-01-26 01:01:37
  • Python通过递归获取目录下指定文件代码实例

    2021-02-24 15:08:51
  • 使用豆瓣源来安装python中的第三方库方法

    2023-10-09 08:53:42
  • Python中字典的基本知识初步介绍

    2021-08-25 11:41:40
  • python单元测试unittest实例详解

    2023-10-16 08:26:49
  • Python基于DFA算法实现内容敏感词过滤

    2023-07-25 20:14:11
  • python 接收处理外带的参数方法

    2022-05-01 17:56:26
  • 详解python连接telnet和ssh的两种方式

    2023-02-10 01:27:14
  • Python操作CSV格式文件的方法大全

    2023-07-08 18:57:45
  • Python OpenGL绘制一场烟花盛会

    2021-02-08 06:12:44
  • JS中from 表单序列化提交的代码

    2023-09-09 22:54:01
  • python使用jieba实现中文分词去停用词方法示例

    2021-02-04 11:27:17
  • Mini,又个 Javascript 选择器

    2009-10-06 14:48:00
  • Python函数中的可变长参数详解

    2022-08-01 06:04:57
  • Fibonacci数,Θ(log n)

    2010-03-28 13:28:00
  • 9种使用Chrome Firefox 自带调试工具调试javascript技巧

    2023-07-19 01:03:48
  • 小小聊天室Python代码实现

    2022-05-27 15:23:44
  • Python创建xml文件示例

    2023-03-08 22:41:45
  • php常量详细解析

    2023-11-20 14:24:40
  • asp之家 网络编程 m.aspxhome.com