详解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 相关文章推荐
在Windows服务器下用Apache和mod_wsgi配置Python应用的教程
May 06 Python
python数组复制拷贝的实现方法
Jun 09 Python
python中安装模块包版本冲突问题的解决
May 02 Python
python 表达式和语句及for、while循环练习实例
Jul 07 Python
详细解读tornado协程(coroutine)原理
Jan 15 Python
Python iter()函数用法实例分析
Mar 17 Python
python操作excel文件并输出txt文件的实例
Jul 10 Python
Python深拷贝与浅拷贝用法实例分析
May 05 Python
pytorch实现mnist数据集的图像可视化及保存
Jan 14 Python
使用keras实现Precise, Recall, F1-socre方式
Jun 15 Python
python time()的实例用法
Nov 03 Python
python 30行代码实现蚂蚁森林自动偷能量
Feb 08 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 一个比较完善的简单文件上传
2010/03/25 PHP
PHP获取和操作配置文件php.ini的几个函数介绍
2013/06/24 PHP
php使用base64加密解密图片示例分享
2014/01/20 PHP
php实现文件下载简单示例(代码实现文件下载)
2014/03/10 PHP
PHP的Yii框架的常用日志操作总结
2015/12/08 PHP
PHP实现的构造sql语句类实例
2016/02/03 PHP
thinkPHP5.0框架模块设计详解
2017/03/18 PHP
索趣科技的答案
2007/02/07 Javascript
关于document.cookie的使用javascript
2010/10/29 Javascript
jquery新的绑定事件机制on方法的使用方法
2014/04/15 Javascript
json属性名为什么要双引号(个人猜测)
2014/07/31 Javascript
JavaScript获取数组最小值和最大值的方法
2015/06/09 Javascript
Jquery中request和request.form和request.querystring的区别
2015/11/26 Javascript
封装好的javascript前端分页插件pagination
2016/01/04 Javascript
微信小程序 向左滑动删除功能的实现
2017/03/10 Javascript
jQuery源码解读之extend()与工具方法、实例方法详解
2017/03/30 jQuery
iOS + node.js使用Socket.IO框架进行实时通信示例
2017/04/14 Javascript
vue首次赋值不触发watch的解决方法
2018/09/11 Javascript
js实现拖拽元素选择和删除
2020/08/25 Javascript
Vue 简单实现前端权限控制的示例
2020/12/25 Vue.js
Python实现list反转实例汇总
2014/11/11 Python
用Python中的字典来处理索引统计的方法
2015/05/05 Python
50行Python代码实现人脸检测功能
2018/01/23 Python
python 遍历目录(包括子目录)下所有文件的实例
2018/07/11 Python
python函数的万能参数传参详解
2019/07/26 Python
python 计算两个列表的相关系数的实现
2019/08/29 Python
python解析yaml文件过程详解
2019/08/30 Python
python ubplot使用方法解析
2020/01/10 Python
Keras:Unet网络实现多类语义分割方式
2020/06/11 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
2020/12/04 Python
[原创]赚疯了!转手立赚800+?大佬的python「抢茅台脚本」使用教程
2021/01/12 Python
css3动画效果小结(推荐)
2016/07/25 HTML / CSS
html5应用缓存_动力节点Java学院整理
2017/07/13 HTML / CSS
Marlies Dekkers内衣法国官方网上商店:国际知名的荷兰内衣品牌
2019/03/18 全球购物
办公室文员工作自我鉴定
2014/09/19 职场文书
nodejs利用readline提示输入内容实例代码
2021/07/15 NodeJs