【发布时间】:2014-01-20 12:22:33
【问题描述】:
我使用 django 缓存和 django-redis-cache 作为后端。
与:
@cache_page(60*60*24)
视图装饰器。
现在我面临的问题是每个 get 请求都在 redis 中使用不同的键存储。 我必须为任何获取参数显示相同的页面。有没有办法强制缓存在服务和制作密钥时忽略获取参数。
【问题讨论】:
标签: python django caching django-redis
我使用 django 缓存和 django-redis-cache 作为后端。
与:
@cache_page(60*60*24)
视图装饰器。
现在我面临的问题是每个 get 请求都在 redis 中使用不同的键存储。 我必须为任何获取参数显示相同的页面。有没有办法强制缓存在服务和制作密钥时忽略获取参数。
【问题讨论】:
标签: python django caching django-redis
无论请求的查询字符串如何,当然都有“一种方法”来计算相同的缓存键,但这需要一些工作 - 您必须根据低级缓存 API 重写自己的 cache_page 实现(记录在这里https://docs.djangoproject.com/en/1.6/topics/cache/#the-low-level-cache-api)。您还可以阅读CacheMiddleware 的源代码(在此基础上构建了cache_page)。
现在我不得不说,在为页面缓存生成缓存键时,我没有得到忽略查询字符串的意义。
【讨论】: