详解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随机生成信用卡卡号的实现方法
May 14 Python
Python 中 Meta Classes详解
Feb 13 Python
Python读取视频的两种方法(imageio和cv2)
Apr 15 Python
Python2和Python3的共存和切换使用
Apr 12 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
Aug 13 Python
python 解决print数组/矩阵无法完整输出的问题
Feb 19 Python
Django ValuesQuerySet转json方式
Mar 16 Python
Python发起请求提示UnicodeEncodeError错误代码解决方法
Apr 21 Python
浅谈Python 参数与变量
Jun 20 Python
python logging模块的使用
Sep 07 Python
Python Process创建进程的2种方法详解
Jan 25 Python
Python利用Turtle绘制哆啦A梦和小猪佩奇
Apr 04 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数组函数
2008/08/18 PHP
PHP常用的缓存技术汇总
2014/05/05 PHP
php中fgetcsv()函数用法实例
2014/11/28 PHP
浅析THINKPHP的addAll支持的最大数据量
2015/02/03 PHP
PHP实现获取第一个中文首字母并进行排序的方法
2017/05/09 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
Aster vs KG BO3 第一场2.18
2021/03/10 DOTA
jQuery live( type, fn ) 委派事件实现
2009/10/11 Javascript
js实现简单随机抽奖的方法
2015/01/27 Javascript
JS实现鼠标箭头变成一个燃烧烛光效果的方法
2015/02/28 Javascript
javascript图片滑动效果实现
2021/01/28 Javascript
基于jquery实现可定制的web在线富文本编辑器附源码下载
2015/11/17 Javascript
ionic开发中点击input时键盘自动弹出
2016/12/23 Javascript
jQuery插件之validation插件
2017/03/29 jQuery
Cropper.js 实现裁剪图片并上传(PC端)
2017/08/20 Javascript
微信小程序仿美团城市选择
2018/06/06 Javascript
详解如何在Vue项目中导出Excel
2019/04/19 Javascript
Vue项目从webpack3.x升级webpack4不完全指南
2019/04/28 Javascript
vue跳转页面的几种方法(推荐)
2020/03/26 Javascript
vue3.0实现点击切换验证码(组件)及校验
2020/11/18 Vue.js
[01:16:13]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第一场 2月22日
2021/03/11 DOTA
Python3.x中自定义比较函数
2015/04/24 Python
Python基于列表list实现的CRUD操作功能示例
2018/01/05 Python
python爬虫爬取快手视频多线程下载功能
2018/02/28 Python
基于Python中numpy数组的合并实例讲解
2018/04/04 Python
python3+PyQt5重新实现自定义数据拖放处理
2018/04/19 Python
Python多图片合并PDF的方法
2019/01/03 Python
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
2019/12/30 Python
澳大利亚在线生活方式商店:Mytopia
2018/07/08 全球购物
将时尚融入珠宝:Adornmonde
2019/10/17 全球购物
端口镜像是怎么实现的
2014/03/25 面试题
写求职信有什么意义
2014/02/17 职场文书
信仰心得体会
2014/09/05 职场文书
审查起诉阶段律师意见书
2015/05/19 职场文书
2016年重阳节慰问信
2015/12/01 职场文书
css布局巧妙技巧之css三角示例的运用
2022/03/16 HTML / CSS