基于即时更新的缓存策略设计草稿
整体缓存主要嫁接在Memcached和Redis上,Memcached是原子性的Key-Value操作,Redis是借助于其Set、SortedSet的功能将列表置于Redis,提升整体系统性能。
启动2级缓存,写入缓存前,先本地暂存本地队列,再写入数据库,同时更新缓存,这样可以保持所有前端服务器同步;读取时,缓存都是LazyLoading,先读取缓存,如果缓存不存在再将数据库数据读取到缓存,这样加快系统初始化时间;缓存设置时间主动过期,而是当数据更新时候,才去更新缓存;这么做的缺点是,缓存容量要相当大;
缓存采用3层缓存结构,既数据持久层PO、业务逻辑层BO、表示层VO,每级缓存向下依赖
采用向下注册模式,既表示层层向BL层注册、BL向DAL注册,但是BL不必要关心VO具体怎么用,仅仅是为了,当BO被更新时候,知道清理那些VO,同理可证PO和BO关系;