回答
目前主流的缓存更新策略有如下几种:
Cache-Aside Pattern
:旁路缓存模式。它要求应用程序在读取数据时,首先要查询缓存,如果缓存中没有所需数据(缓存未命中),则从数据库中加载数据,然后将数据添加到缓存中。Read-Through/Write-through
:这种模式与Cache-Aside Pattern
差不多,只不过在这种模式中,应用程序与缓存之间多了一个中间层Cache-Provider
,这样应用程序就不直接与缓存和数据库交互了,由Cache-Provider
完成交互。Write-behind
:异步写入模式,是一种先写入缓存,然后异步批量更新到数据库的策略。这种模式可以减少对数据库的写操作次数,适用于写频繁但对即时一致性要求不高的场景。
扩展
Cache-Aside
Cache-Aside
,称之为旁路缓存模式,一种缓存懒加载机制,是我们使用最为广泛的缓存模式。
Cache-Aside
要求应用程序在读取数据时,首先要查询缓存,如果缓存中没有所需数据(缓存未命中),则从数据库中加载数据,然后将数据添加到缓存中。
对于写请求,Cache-Aside
采取的策略是先更新数据库,然后再删除缓存。