新的缓存......
我正在研究Spring的EHCache,我发现它的“后写”新功能非常有趣。首先将数据写入缓存,然后以异步方式写入底层数据库,通过时移,速率限制或混合减少数据库的负载(顺便说一下,其他缓存是否具有相同的功能?)。这对我所需要的东西来说听起来很棒。
现在..
如果我的服务器/系统/缓存由于任何原因严重崩溃(我的意思是非常糟糕)会发生什么?我是否会丢失存储在等待加载到数据库中的缓存中的数据?我可以通过使用“大内存”或“磁盘存储”来防止这种情况发生吗?这些选项会方便吗?
非常感谢。
答案 0 :(得分:1)
Terracotta集群会为您提供持久的后写队列http://ehcache.org/documentation/apis/write-through-caching#using-a-combined-read-through-and-write-behind-cache 和http://vimeo.com/21193026
答案 1 :(得分:0)
我是否会丢失存储在等待加载到数据库中的缓存中的[sic]数据?
是的,你愿意。这是你必须接受“后写”缓存的权衡。
如果需要事务完整性,则需要直接写入事务性后备存储,然后从缓存中刷新条目(“回写”),或者与写入数据存储同步更新缓存( “直写”)。