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