详解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装饰器使用方法实例
Nov 21 Python
Python threading多线程编程实例
Sep 18 Python
详细探究Python中的字典容器
Apr 14 Python
详解Python中列表和元祖的使用方法
Apr 25 Python
Python3安装Pymongo详细步骤
May 26 Python
使用Turtle画正螺旋线的方法
Sep 22 Python
python实现自动登录
Sep 17 Python
python 将大文件切分为多个小文件的实例
Jan 14 Python
对Python实现累加函数的方法详解
Jan 23 Python
python初学者,用python实现基本的学生管理系统(python3)代码实例
Apr 10 Python
详解python中eval函数的作用
Oct 22 Python
pycharm 添加解释器的方法步骤
Aug 31 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和ACCESS写聊天室(十)
2006/10/09 PHP
让你同时上传 1000 个文件 (二)
2006/10/09 PHP
Linux下创建nginx脚本-start、stop、reload…
2014/08/03 PHP
php模拟用户自动在qq空间发表文章的方法
2015/01/07 PHP
php学习笔记之字符串常见操作总结
2019/07/16 PHP
js快速排序的实现代码
2013/12/08 Javascript
跟我学Node.js(四)---Node.js的模块载入方式与机制
2014/06/04 Javascript
JavaScript中的分号插入机制详细介绍
2015/02/11 Javascript
JavaScript操作HTML DOM节点的基础教程
2016/03/11 Javascript
jquery实现文本框的禁用和启用
2016/12/07 Javascript
jQuery日程管理插件fullcalendar使用详解
2017/01/07 Javascript
工厂模式在JS中的实践
2017/01/18 Javascript
javascript实现复选框全选或反选
2017/02/04 Javascript
Angular.js前台传list数组由后台spring MVC接收数组示例代码
2017/07/31 Javascript
移动端Ionic App 资讯上下循环滚动的实现代码(跑马灯效果)
2017/08/29 Javascript
Node.js Express安装与使用教程
2018/05/11 Javascript
node.js中TCP Socket多进程间的消息推送示例详解
2018/07/10 Javascript
jQuery+css last-child实现选择最后一个子元素操作示例
2018/12/10 jQuery
小程序绑定用户方案优化小结
2019/05/15 Javascript
JS实现点星星消除小游戏
2020/03/24 Javascript
python中查找excel某一列的重复数据 剔除之后打印
2013/02/10 Python
Python字符串和字典相关操作的实例详解
2017/09/23 Python
浅谈用Python实现一个大数据搜索引擎
2017/11/28 Python
python pandas 如何替换某列的一个值
2018/06/09 Python
python range实例用法分享
2020/02/06 Python
Python+appium框架原生代码实现App自动化测试详解
2020/03/06 Python
文件上传服务器-jupyter 中python解压及压缩方式
2020/04/22 Python
浅谈TensorFlow之稀疏张量表示
2020/06/30 Python
python使用建议技巧分享(三)
2020/08/18 Python
python中zip()函数遍历多个列表方法
2021/02/18 Python
美国Curacao百货连锁店网站:iCuracao.com
2019/07/20 全球购物
如果NULL定义成#define NULL((char *)0)难道不就可以向函数传入不加转换的NULL了吗
2012/02/15 面试题
药剂专业毕业生求职信
2014/06/24 职场文书
幼儿园学前班幼儿评语
2014/12/29 职场文书
违纪检讨书范文
2015/01/27 职场文书
2015年党员岗位承诺书
2015/04/27 职场文书