我的站点上有一个名为 Views
的部分,用户可以在其中查看谁查看了他们的个人资料。考虑到它需要实时,是否可以缓存它,以便如果用户检查此页面或每 30 秒刷新一次,他们就可以看到新访问者?
我的另一个部分是Messages
,用户可以在这里互相发送消息。这也需要是实时的。这可以缓存吗?
我想缓存的另一个部分是新用户
部分,用户可以在其中看到新注册的用户。
你们有没有遇到过类似的事情,你们是如何解决的?
这样做的目的是减少对数据库的调用次数。我想查看此选项并在增加数据库限制之前微调所有内容。
谢谢。
最佳答案
通常缓存意味着您保存一个站点,您不必每次都计算它们并节省性能。
一个很好的解决方案是 Varnish 和 ESI。您可以排除部分代码并将其替换为 ESI 标签。 Varnish 获取该 URL 并将它们放在一起并提供整个站点。你有一些可能是 Varnish 懒惰地获取它们,所以当用户转到页面时,他会得到旧版本,而 Varnish 在后台为下一个请求加载一个新版本。
https://www.varnish-cache.org/trac/wiki/ESIfeatures
https://www.varnish-cache.org/docs/4.0/users-guide/esi.html
一些框架有 Varnish 插件,并实现了 ESI 功能并自动替换页面的一部分。
关于php - 如何在 PHP 中缓存非常动态的网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30778834/