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