django缓存

前端混合开发缓存的使用

-缓存的位置,通过配置文件来操作(以文件为例)
-缓存的粒度:
	-全站缓存
    	中间件
        MIDDLEWARE = [
            'django.middleware.cache.UpdateCacheMiddleware',
            。。。。
            'django.middleware.cache.FetchFromCacheMiddleware',
        ]
        CACHE_MIDDLEWARE_SECONDS=10  # 全站缓存时间
    -单页面缓存
    	在视图函数上加装饰器
        from django.views.decorators.cache import cache_page
        @cache_page(5)  # 缓存5s钟
        def test_cache(request):
            import time
            ctime=time.time()
            return render(request,'index.html',context={'ctime':ctime})
    	
    -页面局部缓存
    	{% load cache %}
        {% cache 5 'name' %}  # 5表示5s钟,name是唯一key值
         {{ ctime }}
        {% endcache %}

前后端分离缓存的使用

- 如何使用
    from django.core.cache import cache
    cache.set('key',value可以是任意数据类型)
    cache.get('key')
-应用场景:
	-第一次查询所有图书,你通过多表联查序列化之后的数据,直接缓存起来
    -后续,直接先去缓存查,如果有直接返回,没有,再去连表查,返回之前再缓存
posted @ 2020-07-19 23:29  小子,你摊上事了  阅读(43)  评论(0编辑  收藏  举报