django 使用redis进行页面数据缓存和更新缓存数据
转自:https://blog.csdn.net/xiaohuoche175/article/details/89304601 在开发过程中会遇到一些页面的数据是很长时间才进行更新的,不使用缓存的情况下,用户每次访问这些都需要先去数据库中获取这些数据,当访问量较大时,这样获取数据的方式就会降低页面的访问速度,影响效率,这时就可以使用redis将这些数据保存起来,通过判断是否生成过获取以及是否更新过数据来生成新的缓存数据 具体操作如下: 在settings.py里添加缓存设置 # Django的缓存配置 from django.core.cache import cache from django.contrib import adminfrom django.core.cache import cachefrom goods.models import GoodsType,IndexTypeGoodsBanner# Register your models here. class BaseModelAdmin(admin.ModelAdmin): def save_model(self,request,obj,form,change): ‘‘‘新增或更新表中的数据时调用‘‘‘ super().save_model(request,change) # 发出任务,让celery worker重新生成首页静态页 from celery_tasks.tasks import generate_static_index_html generate_static_index_html.delay() # 清除首页的缓存数据 cache.delete(‘index_page_data‘) def delete_model(self,obj): ‘‘‘删除表中的数据时调用‘‘‘ super().delete_model(request,obj) # 发出任务,让celery worker重新生成首页静态页 from celery_tasks.tasks import generate_static_index_html generate_static_index_html.delay() # 清除首页的缓存数据 cache.delete(‘index_page_data‘) class GoodsTypeAdmin(BaseModelAdmin): pass class IndexGoodsBannerAdmin(BaseModelAdmin): pass class IndexTypeGoodsBannerAdmin(BaseModelAdmin): pass class IndexPromotionBannerAdmin(BaseModelAdmin): pass admin.site.register(GoodsType,GoodsTypeAdmin)admin.site.register(IndexGoodsBanner,IndexGoodsBannerAdmin)admin.site.register(IndexTypeGoodsBanner,IndexTypeGoodsBannerAdmin)admin.site.register(IndexPromotionBanner,IndexPromotionBannerAdmin)————————————————版权声明:本文为CSDN博主「小火skr车」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/xiaohuoche175/article/details/89304601 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |