【转】Spring3.1 添加了cache支持


Cache一般是对数据的缓存,数据库思维情形下,认为Cache只要和数据库在一起就可以,因此,过去Spring版本是没有缓存支持,因为他们认为Hibernate或JPA等ORM二级缓存支持就可以了。

是不是缓存只是持久层的事情呢?如果我们的架构中没有持久层只有模型层,或者持久层被下放到模型层的一个内部实现机制而已。

就象我们在电脑里面打字,我们面对的是编辑器中的“字”,而这些“字”实际就是在内存中“字”,我们按“保存”键就是将内存“字”持久化保存到硬盘上,这个动作如果软件能够自动做,那我们就不必做,实际上,现在很多NoSQL产品都是内存数据库,内含自动持久化内部实现机制而已。

如果我们的架构是以模型驱动开发为主,也就是DDD设计为主,而不是以关系数据库操作为主,那么,模型就只能存在内存中,而对模型的操作很显然应该是业务层框架必须做的事情。(JdonFramework从第一个版本就认识到这个问题,加入Cache支持)

所以,在一个MDD/DDD架构中,模型层是核心,模型中有实体 值对象和服务。这些都必须是业务层框架进行支持,目前比较好的是DCI框架来支持。

我们回过头来再看看Spring 3.1的cache支持是怎样的?它导入一般的缓存机制,可以缓存任何Java类 方法或库包,也可以和现有缓存机制比如ehcache或hazelcast支持,用以提高性能。

从它的发布说明书来看,Cache目前只用来提升性能用,还没有上升到对领域模型的支持高度来。Spring让我们要等待你多久才能引导大众走向模型驱动开发呢?抑或MDD/DDD真的太先进,太冒进?还是你的步伐太落后了呢?

Spring 3.1 M1: Cache Abstraction | SpringSource Team Blog


FROM http://www.jdon.com/jivejdon/thread/39885

Tags: 

延伸阅读

最新评论

发表评论