详解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的Tornado框架的异步任务与AsyncHTTPClient
Jun 27 Python
Android分包MultiDex策略详解
Oct 30 Python
python机器学习之决策树分类详解
Dec 20 Python
Python获取时间戳代码实例
Sep 24 Python
在django中自定义字段Field详解
Dec 03 Python
布隆过滤器的概述及Python实现方法
Dec 08 Python
在Tensorflow中实现梯度下降法更新参数值
Jan 23 Python
Python random模块制作简易的四位数验证码
Feb 01 Python
Python tkinter界面实现历史天气查询的示例代码
Aug 23 Python
详解Python利用configparser对配置文件进行读写操作
Nov 03 Python
浅谈哪个Python库才最适合做数据可视化
Jun 28 Python
Django实现WebSocket在线聊天室功能(channels库)
Sep 25 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+jQuery+Ajax实现分页效果 jPaginate插件的应用
2015/10/09 PHP
php使用PDO下exec()函数查询执行后受影响行数的方法
2017/03/28 PHP
关于PHP通用返回值设置方法
2017/03/31 PHP
JavaScript中获取未知对象属性的代码
2011/04/27 Javascript
经过绑定元素时会多次触发mouseover和mouseout事件
2014/02/28 Javascript
jquery实现根据浏览器窗口大小自动缩放图片的方法
2015/07/17 Javascript
JS+CSS实现滑动切换tab菜单效果
2015/08/25 Javascript
JavaScript学习笔记(三):JavaScript也有入口Main函数
2015/09/12 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
2015/12/20 Javascript
基于bootstrap的选择框插件icheck
2016/12/23 Javascript
详解微信小程序开发之——wx.showToast(OBJECT)的使用
2017/01/18 Javascript
fckeditor部署到weblogic出现xml无法读取及样式不能显示问题的解决方法
2017/03/24 Javascript
微信小程序搜索组件wxSearch实例详解
2017/06/08 Javascript
AngularJS中ng-class用法实例分析
2017/07/06 Javascript
vue全局组件与局部组件使用方法详解
2018/03/29 Javascript
vue实现图片预览组件封装与使用
2019/07/13 Javascript
layui表格内容溢出的解决方法
2019/09/06 Javascript
JavaScript经典案例之简易计算器
2020/08/24 Javascript
numpy中的meshgrid函数的使用
2019/07/31 Python
python使用pip安装SciPy、SymPy、matplotlib教程
2019/11/20 Python
Python控制台实现交互式环境执行
2020/06/09 Python
Python 数据的累加与统计的示例代码
2020/08/03 Python
python学习笔记之多进程
2020/08/06 Python
常用的10个Python实用小技巧
2020/08/10 Python
找到您丢失的钥匙、钱包和手机:Tile
2017/05/19 全球购物
以工厂直接定价的传奇性能:Ben Hogan Golf
2019/01/04 全球购物
杭州信雅达系统.NET工程师面试试题
2015/02/08 面试题
应届毕业生个人自荐信范文
2013/11/30 职场文书
银行员工职业规划范文
2014/01/21 职场文书
校园文化建设方案
2014/02/03 职场文书
顶撞老师检讨书
2014/02/07 职场文书
校庆接待方案
2014/03/18 职场文书
css中z-index: 0和z-index: auto的区别
2021/08/23 HTML / CSS
数据分析数据库ClickHouse在大数据领域应用实践
2022/04/03 MySQL
SQL Server Agent 服务无法启动
2022/04/20 SQL Server
一篇文章带你掌握SQLite3基本用法
2022/06/14 数据库