详解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 相关文章推荐
50行代码实现贪吃蛇(具体思路及代码)
Apr 27 Python
浅谈pyhton学习中出现的各种问题(新手必看)
May 17 Python
Python3实战之爬虫抓取网易云音乐的热门评论
Oct 09 Python
python之django母板页面的使用
Jul 03 Python
如何不用安装python就能在.NET里调用Python库
Jul 12 Python
在python 中split()使用多符号分割的例子
Jul 15 Python
python单例设计模式实现解析
Jan 07 Python
哪些是python中web开发框架
Jun 17 Python
cookies应对python反爬虫知识点详解
Nov 25 Python
python 模块导入问题汇总
Feb 01 Python
Python趣味挑战之教你用pygame画进度条
May 31 Python
利用Python实现翻译HTML中的文本字符串
Jun 21 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
一个阿拉伯数字转中文数字的函数
2006/10/09 PHP
PHP 批量删除数据的方法分析
2009/10/30 PHP
浅谈laravel数据库查询返回的数据形式
2019/10/21 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
Laravel框架使用技巧之使用url()全局函数返回前一个页面的地址方法详解
2020/04/06 PHP
基于jquery的loading效果实现代码
2010/11/05 Javascript
javascript移动设备Web开发中对touch事件的封装实例
2014/06/05 Javascript
web前端设计师们常用的jQuery特效插件汇总
2014/12/07 Javascript
jQuery制作拼图小游戏
2015/01/12 Javascript
js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
2015/11/09 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
2016/05/26 Javascript
jquery的父、子、兄弟节点查找,节点的子节点循环方法
2016/12/07 Javascript
浅谈js中function的参数默认值
2017/02/20 Javascript
vue.js的手脚架vue-cli项目搭建的步骤
2017/08/30 Javascript
记录一篇关于redux-saga的基本使用过程
2018/08/18 Javascript
详解vuex的简单todolist例子
2019/07/14 Javascript
jQuery实现聊天对话框
2020/02/08 jQuery
如何在vue中使用HTML 5 拖放API
2021/01/14 Vue.js
[02:10]DOTA2亚洲邀请赛 EG战队出场宣传片
2015/02/07 DOTA
浅谈对yield的初步理解
2017/05/29 Python
理想高通滤波实现Python opencv示例
2019/01/30 Python
python实现两个经纬度点之间的距离和方位角的方法
2019/07/05 Python
如何更改 pandas dataframe 中两列的位置
2019/12/27 Python
python读写文件write和flush的实现方式
2020/02/21 Python
Django 5种类型Session使用方法解析
2020/04/29 Python
浅谈numpy中函数resize与reshape,ravel与flatten的区别
2020/06/18 Python
Betsey Johnson官网:妖娆可爱的连衣裙及鞋子、手袋和配件
2016/12/30 全球购物
护理自荐信
2013/10/22 职场文书
大二学期个人自我评价
2014/01/13 职场文书
代收款委托书范本
2014/10/01 职场文书
2016教师廉洁教育心得体会
2016/01/13 职场文书
详解thinkphp的Auth类认证
2021/05/28 PHP
Mysql 如何查询时间段交集
2021/06/08 MySQL
Pycharm连接远程服务器并远程调试的全过程
2021/06/24 Python
Canvas绘制像素风图片的示例代码
2021/09/25 HTML / CSS
你需要掌握的20个Python常用技巧
2022/02/28 Python