详解Django框架中的视图级缓存
2015-07-23 00:00
806 查看
更加颗粒级的缓存框架使用方法是对单个视图的输出进行缓存。 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 的请求将使用缓存。
相关文章推荐
- Django框架下在URLconf中指定视图缓存的方法
- VIEWGOOD(远古)助力警官学院信息化平台建设
- socket协议下如何缓存图片--推荐EGOCache
- HDU 1934 Minimum Inversion Number(树状数组,线段树)
- poj 2762 Going from u to v or from v to u?
- golang+websocket
- django 1.8 官方文档翻译: 2-5-1 管理器 (初稿)
- HDU 3966 Aragorn's Story(树链剖分+线段树区间更新+手动扩大内存)
- go语言实现线程池
- 在Django中使用Sitemap的方法讲解
- Ubuntu下最好用的词典Golden Dict设置支持有道
- django-restful请求的访问限制
- HDU 1166 敌兵布阵(线段树)
- golang 系统包自动填写插件
- Go 1.4 src/pkg → src
- 机器人操作系统ROS Indigo 入门学习(1)——安装ROS Indigo
- welcome to my scala and spark blog! Let's go!
- 在主机商的共享服务器上部署Django站点的方法
- 异地备份mongo
- 在Django中同时使用多个配置文件的方法