Django中redis的使用(三)
2021/9/8 19:36:09
本文主要是介绍Django中redis的使用(三),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
4.视图函数缓存
1.通过装饰器cache_page
@cache_page # cache_page用于视图缓存 def view_cache_test(request): t=time.time() return HttpResponse(f'全站缓存测试,时间戳:{t}')
注意:把全站缓存去掉
说明:
-
cache_page除了默认的timeout参数外,还有两个可选的关键字参数
-
cache,示例代码:@cache_page(60 * 15, cache="special_cache"), 该cache指向settings中配置的缓存的名称,默认是"default"
-
key_prefix:缓存key的前缀,与CACHE_MIDDLEWARE_KEY_PREFIX功能相同
-
如果多个url指向同一个视图函数,会为每个url建立一个单独的缓存
urlpatterns = [ path('momo/<int:i>/', views.index), ]
/momo/1/ 和/momo/23/ 请求会分别进行缓存
2.
通过urls中配置cache_page
在URLconf中指定视图缓存,而不是在视图函数上硬编码装饰器,可以进一步解耦缓存和视图函数之间的关系,使用起来更灵活
from django.views.decorators.cache import cache_page urlpatterns = [ path('index/', cache_page(60 * 15)(views.index)), ]
5.模板文件缓存
使用cache模板标记缓存模板片段
-
引入TemplateTag
{% load cache %}
2. 使用缓存
{% cache 5000 cache_key %} 缓存内容 {% endcache %}
说明:
cache最少两个参数:
-
5000: 缓存超时时间,单位秒,如果为None,那么就是永久缓存
-
cache_key:缓存的key,不能使用变量,只是一个字符串(不要引号),相当于CACHE_MIDDLEWARE_KEY_PREFIX
注意:可以通过将一个或多个附加参数(可以是带或不带过滤器的变量,变量个数可以是多个,如:{% cache 500 sidebar num,year ... %})传递给 cache 来唯一标识缓存片段来执行此操作
这篇关于Django中redis的使用(三)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-08阿里云Redis项目实战入门教程
- 2024-11-08阿里云Redis资料:新手入门与初级使用指南
- 2024-11-08阿里云Redis教程:新手入门及实用指南
- 2024-11-07阿里云Redis学习入门:新手必读指南
- 2024-11-07阿里云Redis学习入门:从零开始的操作指南
- 2024-11-07阿里云Redis学习:初学者指南
- 2024-11-06阿里云Redis入门教程:轻松搭建与使用指南
- 2024-11-02Redis项目实战:新手入门教程
- 2024-10-22Redis入门教程:轻松掌握数据存储与操作
- 2024-10-22Redis缓存入门教程:快速掌握Redis缓存基础知识