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


Posted in Python onJuly 23, 2015

更加颗粒级的缓存框架使用方法是对单个视图的输出进行缓存。 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 的请求将使用缓存。

Python 相关文章推荐
举例讲解Python中的list列表数据结构用法
Mar 12 Python
python 容器总结整理
Apr 04 Python
深入探究Django中的Session与Cookie
Jul 30 Python
Python实现的端口扫描功能示例
Apr 08 Python
Python简单实现阿拉伯数字和罗马数字的互相转换功能示例
Apr 17 Python
修改默认的pip版本为对应python2.7的方法
Nov 06 Python
对python 操作solr索引数据的实例详解
Dec 07 Python
python pip源配置,pip配置文件存放位置的方法
Jul 12 Python
python实现对图片进行旋转,放缩,裁剪的功能
Aug 07 Python
python默认参数调用方法解析
Feb 09 Python
完美解决pyinstaller打包报错找不到依赖pypiwin32或pywin32-ctypes的错误
Apr 01 Python
python两种获取剪贴板内容的方法
Nov 06 Python
Django中的CACHE_BACKEND参数和站点级Cache设置
Jul 23 #Python
简介Django框架中可使用的各类缓存
Jul 23 #Python
浅析Python的Django框架中的Memcached
Jul 23 #Python
详解Django中的权限和组以及消息
Jul 23 #Python
在Django的模板中使用认证数据的方法
Jul 23 #Python
在Django中管理Users和Permissions以及Groups的方法
Jul 23 #Python
Django中对通过测试的用户进行限制访问的方法
Jul 23 #Python
You might like
PHP has encountered an Access Violation at 7C94BD02解决方法
2009/08/24 PHP
php代码中使用换行及(\n或\r\n和br)的应用
2013/02/02 PHP
PHP删除数组中特定元素的两种方法
2013/07/02 PHP
php使用mysqli向数据库添加数据的方法
2015/03/20 PHP
PHP随机生成信用卡卡号的方法
2015/03/23 PHP
CodeIgniter针对lighttpd服务器URL重写的方法
2015/06/10 PHP
jquery 表格的增行删行实现思路
2013/03/21 Javascript
javascript的switch用法注意事项分析
2015/02/02 Javascript
JavaScript获取页面中第一个锚定文本的方法
2015/04/03 Javascript
JavaScript 函数模式详解及示例
2016/09/07 Javascript
addEventListener()与removeEventListener()解析
2017/04/20 Javascript
微信小程序公用参数与公用方法用法示例
2019/01/09 Javascript
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
2019/04/10 jQuery
详解如何写出一个利于扩展的vue路由配置
2019/05/16 Javascript
JavaScript Array对象使用方法解析
2019/09/24 Javascript
js实现3D旋转相册
2020/08/02 Javascript
element-ui和vue表单(对话框)验证提示语(残留)清除操作
2020/09/11 Javascript
js实现石头剪刀布游戏
2020/10/11 Javascript
Python中用startswith()函数判断字符串开头的教程
2015/04/07 Python
Python 类的继承实例详解
2017/03/25 Python
python自定义异常实例详解
2017/07/11 Python
Python应用库大全总结
2018/05/30 Python
Python socket连接中的粘包、精确传输问题实例分析
2020/03/24 Python
python自动打开浏览器下载zip并提取内容写入excel
2021/01/04 Python
台湾母婴用品购物网站:Infant婴之房
2018/06/15 全球购物
印度尼西亚手表和包包商店:Urban Icon
2019/12/12 全球购物
StringBuilder和String的区别
2015/05/18 面试题
餐饮业会计岗位职责
2013/12/19 职场文书
万年牢教学反思
2014/02/15 职场文书
《与朱元思书》的教学反思
2014/04/17 职场文书
疾病捐款倡议书
2014/05/13 职场文书
保证金退回承诺函格式
2015/01/21 职场文书
2015年复活节活动总结
2015/02/27 职场文书
幼儿园教学反思范文
2016/03/02 职场文书
2019年描写人生经典诗句大全
2019/07/08 职场文书
解析Redis Cluster原理
2021/06/21 Redis