在缓存和读取模式中,在这两种模式中,我们需要编写代码来写入数据库。那么通读,后写方式的真正优势是什么?请澄清我的疑问。
答案 0 :(得分:14)
是的,您需要在这两种模式中编写代码,但使用直读/后写方法有很多好处。
E.g。在缓存模式中,您的应用程序负责从数据库读取和写入,并保持缓存与数据库同步。这将使您的应用程序的代码变得复杂,并且如果多个应用程序处理相同的数据,也可能导致代码重复。另一方面,直读/后写简化了应用程序的逻辑。
此外,read-through可以通过阻止对同一对象的并行调用来减少数据库调用。正如此article NCache
中所解释的那样在许多情况下,缓存项过期,多个并行用户线程最终命中数据库。将其与数百万个缓存项和数千个并行用户请求相乘,数据库上的负载变得明显更高。
类似地,后写(异步)可以通过加快写操作来提高应用程序的性能,
在缓存中,应用程序直接同步更新数据库。然而,Write-behind允许您的应用程序快速更新缓存并返回。然后它让缓存在后台更新数据库。
有关使用read-through / write-behind over cache-aside的优点的详细信息,请参阅this article。我希望这会有所帮助:)