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