标签:list backend 相关 十分 oca return csdn 文件夹 location
首先照例说明一下缓存的作用以及Django中可以用到的缓存方式:
缓存的作用是用于数据项的再次加载,在设定的时间内可以无压力刷新或者再次访问该数据信息
其中配置中有几点要说明,
这里装饰器是
@cache_page(timeout=30)固定格式有代码提示(本质为方法的封装)------------也就说明了,方法二就是在这基础上自定义的-----------(这里的两种方法只能取其中之一,所以我注释掉了装饰器的代码)
# -------*******------------第1个方法数据库缓存实例,以页面为例假装比较耗时 # 方式一:---------------1.导入装饰器(本质为判断方法的封装),为了使用缓存@cache_page # @cache_page(timeout=30) def news(request): # 方式二:--------------2.自定义方法 #用函数名则表示所有访问本路由的共用一套缓存,缓存(第二步) cache= caches[‘redis_backend‘]#---------------------------------这两行同时存在不冲突,用的是多级缓存(redis缓存与自定义缓存) result=cache.get("news")#--------------------------------------对应下面的set的相关参数的设置,这里是调用 #如果存在 if result: return HttpResponse(result) new_list=[] for i in range(10): new_list.append("最近贸易战又开始了%d"% i) #伪装耗时----------------------之后使用缓存 sleep(5)# 五秒 data={ ‘news_list‘:new_list, } response=render(request, ‘news.html‘, context=data) # 方式二(第一步:):设置缓存---key=‘news‘,value=页面的内容,过期时间60秒 cache.set("news",response.content,timeout=60)#-----------------------------------照应上面的get return response
运行一次后,设置的为60秒内可以无压力刷新
#cache_page()配置多级缓存--------cache="指定缓存的位置,写上面的redis_backend,则作相应的变换" # default 为默认配置中 指定的数据库缓存方式 @cache_page(timeout=60,cache=‘default‘) def jokes(request): sleep(5) return HttpResponse("jokes_list")
从这里我们可以看出 标红的说明名字可以随便取,无所谓
如果redis装不好或者启动不了可以先用数据库学习一下
Django2.2 Cache缓存的设计以及几种方式的 多级或单级缓存处理
标签:list backend 相关 十分 oca return csdn 文件夹 location
原文地址:https://www.cnblogs.com/cybg/p/12149644.html