在缓存模式和通读模式中,在这两种模式中,我们都需要编写代码来写入数据库。那么通读,后写方法的真正优势是什么?请澄清我的疑问。
问问题
8521 次
1 回答
17
是的,您需要以这两种模式编写代码,但是使用 read-through/write-behind 方法有很多好处。
例如,在缓存端模式中,您的应用程序负责从数据库中读取和写入,并保持缓存与数据库同步。这将使您的应用程序的代码变得复杂,并且如果多个应用程序处理相同的数据,还可能导致代码重复。另一方面,Read-through/write-behind 简化了应用程序的逻辑。
此外,通读可以通过阻止对同一对象的并行调用来减少数据库调用。正如NCache在这篇文章中所解释的那样
在许多情况下,缓存项过期并且多个并行用户线程最终会访问数据库。再加上数以百万计的缓存项和数以千计的并行用户请求,数据库上的负载变得明显更高。
类似地 write-behind(asynchronous) 可以通过加快写入操作来提高应用程序的性能,
在缓存侧,应用程序直接同步更新数据库。而 Write-after 让您的应用程序可以快速更新缓存并返回。然后它让缓存在后台更新数据库。
有关使用 read-through/write-behind 优于 cache-aside 的更多详细信息,请参阅本文。我希望这个能帮上忙 :)
于 2014-09-24T20:57:32.510 回答