目录
前言:spring+redis集成已完成的前提下编辑Spring注解式缓存
1.2 配置自定义Key生成器CacheKeyGenerator 缓存的Java对象一定要重写hashCode和eqauls
2.1 @CacheConfig 它是一个类级别的注解,允许共享缓存的名称、KeyGenerator、CacheManager和CacheResolver
前言:spring+redis集成已完成的前提下
Spring注解式缓存
Redis是key-value存储的非关系型数据库。Spring Data Redis包含了多个模板实现,用来完成Redis数据库的数据存取功能

1. spring注解式缓存使用步骤
1.1 配置缓存管理器
<bean id="redisCacheManager" class="org.springframework.data.redis.cache.RedisCacheManager">
<constructor-arg name="redisOperations" ref="redisTemplate" />
<!--redis缓存数据过期时间单位秒-->
<property name="defaultExpiration" value="${redis.expiration}" />
<property name="usePrefix" value="true"/>
<property name="cachePrefix">
<bean class="org.springframework.data.redis.cache.DefaultRedisCachePrefix">
<constructor-arg index="0" value="-cache-"/>
</bean>
</property>
</bean>
1.2 配置自定义Key生成器CacheKeyGenerator
缓存的Java对象一定要重写hashCode和eqauls
<bean id="cacheKeyGenerator" class="com.zking.ssm.redis.CacheKeyGenerator"></bean>
1.3 启用缓存注解功能
<cache:annotation-driven cache-manager="redisCacheManager" key-generator="cacheKeyGenerator"/>
1.4 在需要的地方进行注解缓存
2. 缓存注解
2.1 @CacheConfig
它是一个类级别的注解,允许共享缓存的名称、KeyGenerator、CacheManager和CacheResolver
value:缓存位置的一段名称,不能为空
key:缓存的key,默认为空,表示使用方法的参数类型及参数值作为key,支持SpEL
2.2 @Cacheable
配置在方法或类上,作用:本方法执行后,先去缓存看有没有数据,如果没有,从数据库中查找出来