详解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实现简单状态框架的方法
Mar 19 Python
Python中的defaultdict模块和namedtuple模块的简单入门指南
Apr 01 Python
python执行get提交的方法
Apr 29 Python
Python selenium 三种等待方式详解(必会)
Sep 15 Python
Win10下Python环境搭建与配置教程
Nov 18 Python
python获取微信企业号打卡数据并生成windows计划任务
Apr 30 Python
Python实现字符型图片验证码识别完整过程详解
May 10 Python
python中查看.db文件中表格的名字及表格中的字段操作
Jul 07 Python
Python基于tkinter canvas实现图片裁剪功能
Nov 05 Python
python excel多行合并的方法
Dec 09 Python
Python中正则表达式对单个字符,多个字符和匹配边界等使用
Jan 27 Python
python数字图像处理实现图像的形变与缩放
Jun 28 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
如何使用Strace调试工具
2013/06/03 PHP
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
2014/06/04 PHP
PHP中file_exists()判断中文文件名无效的解决方法
2014/11/12 PHP
ThinkPHP通过AJAX返回JSON的两种实现方法
2014/12/18 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
php微信开发之关键词回复功能
2018/06/13 PHP
Thinkphp自定义生成缩略图尺寸的方法
2019/08/05 PHP
JavaScript事件列表解说
2006/12/22 Javascript
js格式化金额可选是否带千分位以及保留精度
2014/01/28 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
2014/06/07 Javascript
JavaScript动态改变HTML页面元素例如添加或删除
2014/08/10 Javascript
JavaScript实现添加、查找、删除元素
2015/07/02 Javascript
解决JS无法调用Controller问题的方法
2015/12/31 Javascript
javascript中sort排序实例详解
2016/07/24 Javascript
jQuery树形插件jquery.simpleTree.js用法分析
2016/09/05 Javascript
Node.js dgram模块实现UDP通信示例代码
2017/09/26 Javascript
JS中的BOM应用
2018/02/02 Javascript
详解webpack打包nodejs项目(前端代码)
2018/09/19 NodeJs
Vue 页面状态保持页面间数据传输的一种方法(推荐)
2018/11/01 Javascript
Node.js实现一个HTTP服务器的方法示例
2019/05/13 Javascript
vue 获取元素额外生成的data-v-xxx操作
2020/09/09 Javascript
[03:15]2014DOTA2国际邀请赛 专访国士无双信心满满
2014/07/12 DOTA
[00:32]2018DOTA2亚洲邀请赛Secret出场
2018/04/03 DOTA
Python实现多行注释的另类方法
2014/08/22 Python
python中map()与zip()操作方法
2016/02/27 Python
使用Python快速制作可视化报表的方法
2019/02/03 Python
Python的log日志功能及设置方法
2019/07/11 Python
Python检查 云备份进程是否正常运行代码实例
2019/08/22 Python
澳大利亚手袋、珠宝和在线时尚精品店:The Way
2019/12/21 全球购物
个人工作表现评语
2014/04/30 职场文书
英语专业求职信
2014/07/08 职场文书
党性锻炼的心得体会
2014/09/03 职场文书
领导班子三严三实心得体会
2014/10/13 职场文书
2014年度思想工作总结
2014/11/27 职场文书
如何在Python中妥善使用进度条详解
2022/04/05 Python
Python开发简易五子棋小游戏
2022/05/02 Python