django cache middleware

django cache middleware

"""

缓存中间件。如果可能,每一个django页面将会基于URL缓存,这种能够缓存中间件的方法设置为updatedCacheMiddleware为第一个中间件,FetchFromCacheMiddleware为最后一个
MIDDLEWARE = 
    [    'django.middleware.cache.UpdateCacheMiddleware',
        ...
        'django.middleware.cache.FetchFromCacheMiddleware'
    ]

在响应阶段,UpdateCacheMiddleware需要最后执行,处理中间件需要自顶向上,在请求阶段,FetchFromCacheMiddleware需要最后执行,处理中间件自定向上
简单的类CacheMiddleware被一些简单的网站使用,然而,如果任何其他的一个缓存中间件需要影响缓存键,你将需要两部分UpdateCacheMiddleware`` 和
``FetchFromCacheMiddleware`,当你使用djanog的LocaleMiddleware这个经常发生。

"""

from django.conf import settings
from django.core.cache import DEFAULT_CACHE_ALIAS, caches
from django.utils.cache import (
    get_cache_key, get_max_age, has_vary_header, learn_cache_key,
    patch_response_headers,
)
from django.utils.deprecation import MiddlewareMixin


class UpdateCacheMiddleware(MiddlewareMixin):
  """ 如果响应被缓存,响应阶段的缓存中间件更新,两部分更新和抓取缓存中间件必须有一部分被使用。
    UpdateCacheMiddleware在MIDDLEWARE中必须成为中间件的第一部分
    在响应阶段它必须最后被获得"""
    def __init__(self, get_response=None):
        self.cache_timeout = settings.CACHE_MIDDLEWARE_SECONDS
        self.key_prefix = settings.CACHE_MIDDLEWARE_KEY_PREFIX
        self.cache_alias &#


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部