0

所以我试图实现此外学习如何缓存每个 URL 的 Django 视图。我能够这样做,这就是正在发生的事情......

  1. 我第一次访问一个 URL,Django 设置了缓存。
  2. 如果浏览器相同,我会从缓存中获取结果,而不是在第二次访问期间查询数据库。

现在的疑问是 - 如果我从第一次访问和第二次访问更改我的浏览器,例如,从 Chrome 进行第一次访问(它设置缓存)并且在 Mozilla 的第二次访问期间,它再次设置缓存。我期待它从缓存中返回结果。

在我研究 StackOverflow 并检查它设置为缓存的内容期间,我发现有两个重要的东西首先是标题,其次是内容。而且我认为每次更改浏览器时,标头都是新的,因此它设置缓存而不是从缓存中返回结果。如果我错了,请告诉我。

我有一个公共 URL,并且我想在发出后续请求时显示缓存中的数据,无论浏览器或移动/笔记本电脑/台式机如何,仅基于 Url,这有可能吗?

**(我在想如果来自该国北部的人访问一个 URL,随后从该国南部访问相同的 URL 应该从缓存中获取数据,但基于我的缓存到期时间)

另外,如果我的理解有误,请纠正我。

我正在学习在 Django 上使用 Redis 进行缓存。

4

1 回答 1

0

所以我为我的一些公共url(视图)手动设置键,在创建和删除时调整缓存,在get-list期间我检查缓存中的键值,如果缓存超时或不可用,则从缓存中获取结果,然后从数据库。不知何故,这个响应时间比默认的 django 函数 cache_page() 慢一点,我不知道为什么。有什么解释吗??还是我正确?

于 2020-12-29T20:40:52.933 回答