一个简单的django应用程序,提供每个请求的缓存。
django-request-cache的Python项目详细描述
django请求缓存为每个请求(在django请求/响应周期内)提供一个缓存。
快速启动
- 使用pip install下载并安装
pip install django-request-cache
- 将UserForeignKeyMiddleware和RequestCacheMiddleware添加到MIDDLEWARE设置中,如下所示:
MIDDLEWARE=(...'django.contrib.auth.middleware.AuthenticationMiddleware',...'django_userforeignkey.middleware.UserForeignKeyMiddleware','django_request_cache.middleware.RequestCacheMiddleware',)
或者,如果您仍然使用较旧的django版本(例如django 1.8)和MIDDLEWARE_CLASSES:
MIDDLEWARE_CLASSES=(...'django.contrib.auth.middleware.AuthenticationMiddleware',...'django_userforeignkey.middleware.UserForeignKeyMiddleware','django_request_cache.middleware.RequestCacheMiddleware',)
- 将每个请求缓存用作装饰器
fromdjango_request_cacheimportcache_for_request@cache_for_requestdefdo_some_complex_calculation(a,b,c):print("Calculating... please wait")returna*b*c
通过在您的请求中多次执行Do_some_complex_计算来进行尝试
归因
RequestCache和RequestCacheMiddleware(请参阅middleware.py)来自stackoverflow上的源代码片段 https://stackoverflow.com/questions/3151469/per-request-cache-in-django/37015573#37015573 由coredumperrorhttps://stackoverflow.com/users/464318/coredumperror创建 原始问题由https://stackoverflow.com/users/7679/chase-seibert发布 在https://stackoverflow.com/questions/3151469/per-request-cache-in-django处 抄送日期:2017年12月20日