文章列表
上文分析了目前在项目中使用的一些缓存的局限性,引出了一个我称之为“域对象事件驱动的缓存策略”的概念。本篇就仔细分析一下如何利用域对象事件来驱动缓存。
通常使用的域对象无非会产生下面几种事件:增加、删除和修改(域对象的状态改变也算做修改)。这三种事件在我们通常的项目中基本可以对应到DAO层的三个方法:insert, delete, update。在DAO层的这三类方法中,我们可以明确的获得是对哪类域对象(Class)进行了处理,同时处理的又是哪个具体的实例(Object)。DAO层只需要将这些明确的信息通知到缓存管理模块,那么剩下的事就是缓存管理模块根据这些信息对已有的缓存做淘汰 ...