我有一个基本的网络应用程序,给出一个网址,点击数据库,做一些数学并返回一些HTML。结果有点重要,但结果可以缓存一段时间。
当我可以在网络服务器前放置Varnish之类的缓存时,有没有理由在我的网络应用程序中添加缓存?
答案 0 :(得分:4)
如果您可以在Varnish中进行操作,并且您知道如何配置,调整,维护和监控Varnish,那么我建议您在Varnish中进行操作。但是,如果Varnish对您而言是新的,并且您具有基于应用程序的缓存的经验,我建议您使用。
在Varnish和你的应用程序中进行缓存可能会给你的软件堆栈增加另一层复杂性,这是不可取的。
答案 1 :(得分:0)
首先,如果您还没有使用Varnish,那么您可能需要等待将其引入应用程序堆栈,直到您确实需要它为止。它还取决于您认为最容易理解和处理的内容:学习如何在应用程序中缓存或在应用程序堆栈中引入新层。更多层等于更多麻烦,所有其他条件相同。
其次,以最容易控制缓存副本的方式执行此操作,以使其不会过时。如果在您的应用程序中,您可以将其缓存,以便在需要时自动过期,并且您没有使用该设置的能力或知道如何在Varnish中执行此操作,那么请在应用程序中执行缓存。