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