缓存使用总结

作为一个查询系统,效率和稳定性是系统设计的重中之重,提升效率最有效的方法无疑是缓存。
缓存方式选取:
1:本地缓存 (Guva Cache, map )
2:分布式缓存(tair)
分布式环境下,采用分布式缓存很好的解决了数据一致性问题,所有业务系统共享tair集群。但是增加了一次远程tr调用。稳定性和效率相对于本地缓存来说会低一些。

1.JPG

而本地缓存虽然可以减少一次tr调用,但是各服务器拥有自己的缓存数据,不是共享的,数据一致性的问题很难解决。

2.JPG

缓存的服务方式: 
1:近端缓存  业务系统-> 远程tair

2:远端缓存  业务系统->查询系统->tair

近端

3.JPG

远端

4.JPG

近端缓存相对于远端缓存可以减少一次远程的tr调用,但是数据一致性的保证相对于远端缓存来说会有一定的困难。

据上来看缓存最重要的问题是如何做到缓存数据与DB数据的一致性:
缓存数据一致性解决方案:
(1)可以采用在本服务器启动定时任务,定时刷新来保证数据的一致性。   

  定时任务实现:http://www.cnblogs.com/E-star/p/4688917.html
(2)可以在缓存数据中添加时间戳,每次读取数据之后根据时间判断是否有效然后进行刷新。
(3)当DB数据发生变化时,可以通过DRM方式让缓存及时刷新,保证数据的一致性。 

 

posted @ 2015-08-01 15:44  E_star  阅读(883)  评论(0编辑  收藏  举报