spring缓存配置

来源:互联网 发布:英语单词听读软件 编辑:程序博客网 时间:2024/06/05 03:52

spring通过自身的aop功能,对项目进行织入切割,利用spring本身的缓存就可以满足很多需求;

需要注意的点:

1:缓存机制适用场景为读多写少的场景,适合使用缓存;

2:个人认为,数据的准确性还是要大于数据库查询的开销,一些牵扯到准确数字的东西,还是不要使用缓存的好;

3:个人对于缓存的认知,尚且模糊,通过前辈整理的资料,窥探到一点门径,愈发觉得深奥无穷,常怀敬畏之心,希望能一直保持下去;

1:spring原生缓存配置

spring的原生缓存直接在spring容器中集成调用就可以;

application.xml配置

 

                                                                                                          

服务层接口的配置

在服务层接口处用到了两个注解

@Cacheable  -->对该方法进行缓存

      value -->缓存名称

      key    -->缓存代表的key

@CacheEvict  -->清除缓存

     value  -->缓存名称

     key   -->缓存代表的key

     beforeInvocation  -->true代表为方法前执行,默认false;

设为true的原因就是在执行该方法前就对缓存的key值进行清空处理,保证数据纯洁性;

    allEntries -->清空所有缓存数据,默认false;

注意:

1:因为在spring的缓存中也是使用键值对的形式进行数据的存储,key值不重复非常重要;

2:在配置key值时,需要注意他的格式;key=" 'key' ";双引号中间还有一个单引号;

 

2:spring缓存配置扩展

spring提供了非常灵活的方式进行缓存的扩展;直接贴代码;

application.xml配置

自己定义类继承spring的接口,实现缓存策略

 

                                                                       

 

自己定义cache实际操作类

1:主要用到的方法就是get,put,evict,clear方法

通过这个类可以进行扩展,可以选择不用spring的缓存,比如使用redis,ehcache等等

 

 

 

 

 

cacheManager 缓存管理类

这个类继承springAbstractCacheManager,在这个类的基础上进行的拓展

 

 

到此结束,亲测有效!