关于缓存


我看了各位对于缓存发表的帖子。

我想知道缓存的逻辑是这样的吗 ?

系统启动的时候从数据库当中读取所有已有的数据,把它保存到map当中。

有新数据的时候添加到数据库,又要添加到缓存当中吗?

添加到缓存的时候应该要锁住这个map把

这样的话又要影响到读取模块的功能了。

逻辑是这样的吗? 这样的话,他真的有价值吗?

缓存分为两种:普通和高级.

普通只针对读;而高级则针对读写.

>又要影响到读取模块的功能
这取决于设计水平,使用AOP或decorator等设计模式可以不影响其他模块.

缓存是针对业务对象的缓存,不是数据,注意这两个概念完全不一样,如果是数据缓存,则和数据库缓存没有两样,而业务对象则来自具体业务分析,重用性高,击中率高,可大大提高性能.

如果你将windows的缓存关闭,就是双核也慢如蜗牛.