Django中间件学习-Cache缓存中间件

本文深入探讨Django的Cache缓存中间件,包括UpdateCacheMiddleware和FetchFromCacheMiddleware的工作逻辑。UpdateCacheMiddleware根据特定条件将response缓存,而FetchFromCacheMiddleware则负责从缓存中获取response。配置和缓存逻辑分析帮助理解如何在Django中有效地使用缓存。
摘要由CSDN通过智能技术生成

Django中间件学习-Cache缓存

中间件缓存的代码在 django/middleware/cache.py 文件里面

使用缓存中间件的时候,必须进行如下配置

    MIDDLEWARE = [
        'django.middleware.cache.UpdateCacheMiddleware',
        ...
        'django.middleware.cache.FetchFromCacheMiddleware'
    ]

UpdateCacheMiddleware 将response缓存起来
FetchFromCacheMiddleware 将缓存的response取出来

UpdateCacheMiddleware 功能逻辑

判断request._cache_update_cache 是否为 True,_cache_update_cache 的值在 FetchFromCacheMiddleware 中设置的

if not self._should_update_cache(request, response):
    # We don't need to update the cache, just return.
    return response
    
def _should_update_cache(self, request, response):
    return hasattr(request, '_cache_update_cache') and request._cache_update_cache

response的状态不为 200 和 304,request 和 response

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值