定义了一个Cache的接口,这个类中呢,有7个方法,是对缓存的一些操作:
AbstractCacheManager: 这个是一个抽象类,实现了CacheManager这个接口. 他没有实现Cache这个接口啊? 为什么?
CacheManager中定义了一个方法,获得缓存Cache,
但是他这个是定义了一个ConcurrentMap<String, Cache>,用来存放缓存,我们自己new一个Map,然后存放数据在里面,其实就是一个缓存.
其实,缓存管理器,说起来就像是new创建了一个大盒子.里面又可以放很多个Map,因为他是这样实现创建一个Cache的:
protected Cache createCache(String name) {
return new MapCache<Object, Object>(name, new SoftHashMap<Object, Object>());
}
他通过传入name作为key,创建了一个缓存.但是注意这个实现的方法里面的values,他的valuse还是一个Map,是一个Obj,Obj类型的Map;
apache.shiro-cache
最新推荐文章于 2021-12-17 09:22:43 发布