Django 缓存在 get 参数上存储不同的密钥



我正在使用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)的源代码。

现在我不得不说,我不明白在为页面缓存生成缓存键时忽略查询字符串的意义。

相关内容

  • 没有找到相关文章

最新更新