<!-- 读取数据库的配置 -->
<context:property-placeholder location="classpath:config.properties,classpath:config/redis.properties" />
<cache:annotation-driven cache-manager="redisCacheManager"/>
<!-- 创建一个jedis并设置 IP、port、password-->
<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<!-- <property name="poolConfig" ref="poolConfig"/> -->
<property name="hostName" value="${redis.url}"/>
<property name="port" value="${redis.port}"/>
<property name="password" value="${redis.auth}"/>
<property name="database" value="${redis.dbIndex}"/>
<!-- <property name="timeout" value="20000" ></property> -->
</bean>
<!-- redis 序列化策略 ,通常情况下key值采用String序列化策略, -->
<!-- 如果不指定序列化策略,StringRedisTemplate的key和value都将采用String序列化策略; -->
<!-- 但是RedisTemplate的key和value都将采用JDK序列化 这样就会出现采用不同template保存的数据不能用同一个template删除的问题 -->
<bean id="stringSerializer" class="org.springframework.data.redis.serializer.StringRedisSerializer"/>
<bean id="jdkSerializerRedis" class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer"/>
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate" >
<property name="connectionFactory" ref="jedisConnectionFactory" />
<property name="keySerializer" ref="stringSerializer"/> <!-- key使用String序列化方式 -->
<property name="valueSerializer" ref="stringSerializer"/><!-- value使用jdk序列化方式 -->
</bean >
<!-- 配置RedisCacheManager -->
<bean id="redisCacheManager" class="org.springframework.data.redis.cache.RedisCacheManager">
<constructor-arg name="redisOperations" ref="redisTemplate"/>
<property name="defaultExpiration" value="${redis.expiration}"/>
</bean>
<aop:aspectj-autoproxy proxy-target-class="true"/>
我还序列化了实体类,在控制层@Cacheable(value ="user")希望把返回的数据,保存到redis中去。
现在能获取到数据,但是不能缓存到redis中去。后台不报错。有哪位大佬遇见过这种情况。给小老弟讲解讲解呗