因此,我试图实现并学习如何缓存每个url的django视图。我能够做到这一点,这里是正在发生的事情。。。
我第一次访问一个url,django设置了缓存。
如果浏览器相同,我从缓存中获取结果,而不是在第二次访问时查询数据库。
现在的疑问是-如果我从第一次访问和第二次访问更改浏览器,例如,从chrome进行第一次访问(它设置缓存),在从mozilla进行第二次访问期间,它再次设置缓存。我希望它能从缓存中返回结果。
在我研究stackoverflow和检查它设置为缓存时,我发现有两个重要的东西,第一个是头,第二个是内容。我认为每次浏览器被更改时,头都是新的,所以它设置缓存,而不是从缓存返回结果。如果我错了,一定要告诉我。
我有一个公共url,我想如果有后续的请求,不管是浏览器还是手机/笔记本电脑/台式机,只要基于url,就可以显示缓存中的数据,这有可能吗?
**(我在想,如果某个来自该国北部的人访问某个url,那么根据我的缓存过期时间,从该国南部访问同一url的后续访问应该会从缓存中获取数据)
如果我的理解是错误的,请纠正我。
我正在学习使用django上的redis进行缓存。
1条答案
按热度按时间j0pj023g1#
所以我手动为我的一些公共url(视图)设置键,在创建和删除时调整缓存,在获取列表期间检查缓存中的键值,如果缓存超时或不可用,则从缓存中获取结果,然后从数据库中获取结果。不知怎的,这个函数的响应时间比默认的django函数cache\u page()慢一点,我不知道为什么。有什么解释吗??或者我是对的?