详解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 相关文章推荐
详解Python3.1版本带来的核心变化
Apr 07 Python
python生成IP段的方法
Jul 07 Python
Python 爬虫的工具列表大全
Jan 31 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
Jan 20 Python
Django学习笔记之Class-Based-View
Feb 15 Python
Python之reload流程实例代码解析
Jan 29 Python
python list删除元素时要注意的坑点分享
Apr 18 Python
对python中的argv和argc使用详解
Dec 15 Python
Python操作Sqlite正确实现方法解析
Feb 05 Python
关于Python 中的时间处理包datetime和arrow的方法详解
Mar 19 Python
详解Python中pyautogui库的最全使用方法
Apr 01 Python
python利用google翻译方法实例(翻译字幕文件)
Sep 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
PHP多个版本的分析解释
2011/07/21 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
PHP通过curl获取接口URL的数据方法
2018/05/31 PHP
php常用日期时间函数实例小结
2019/07/04 PHP
用jQuery简化JavaScript开发分析
2009/02/19 Javascript
javascript 动态调整图片尺寸实现代码
2009/12/28 Javascript
Ajax实现不刷新取最新商品
2017/03/01 Javascript
vue分类筛选filter方法简单实例
2017/03/30 Javascript
Vuex之理解Store的用法
2017/04/19 Javascript
JavaScript切换搜索引擎的导航网页搜索框实例代码
2017/06/11 Javascript
浅谈vue自定义全局组件并通过全局方法 Vue.use() 使用该组件
2017/12/07 Javascript
详解nodejs http请求相关总结
2019/03/31 NodeJs
微信公众号平台接口开发 获取微信服务器IP地址方法解析
2019/08/14 Javascript
[01:30]2016国际邀请赛中国区预选赛神秘商店火爆开启
2016/06/26 DOTA
[01:16:13]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第一场 2月22日
2021/03/11 DOTA
浅谈配置OpenCV3 + Python3的简易方法(macOS)
2018/04/02 Python
python3 pandas 读取MySQL数据和插入的实例
2018/04/20 Python
利用python的socket发送http(s)请求方法示例
2018/05/07 Python
Python实现微信小程序支付功能
2019/07/25 Python
django 多对多表的创建和插入代码实现
2019/09/09 Python
Python中内建模块collections如何使用
2020/05/27 Python
Python3实现建造者模式的示例代码
2020/06/28 Python
详解Html5 监听拦截Android返回键方法
2018/04/18 HTML / CSS
美国第一香水网站:Perfume.com
2017/01/23 全球购物
怎样声明接口
2014/09/19 面试题
党员的自我评价范文
2014/01/02 职场文书
内蒙古鄂尔多斯市市长寄语
2014/04/10 职场文书
团委书记的竞聘演讲稿
2014/04/24 职场文书
幼儿园母亲节活动总结
2015/02/10 职场文书
关于成立领导小组的通知
2015/04/23 职场文书
2015年感恩母亲节活动方案
2015/05/04 职场文书
2019年浪漫婚礼证婚词
2019/06/27 职场文书
承诺书的签字人,需不需要承担相应的责任?
2019/07/09 职场文书
Redis字典实现、Hash键冲突及渐进式rehash详解
2021/09/04 Redis
nginx搭建NFS网络文件系统
2022/04/14 Servers
i7 6700处理器相当于i5几代
2022/04/19 数码科技