使用Spring Data Redis实现缓存遇到的一些问题
2016-04-14 00:00
931 查看
摘要: Spring Data Redis使用中遇到的问题
最近项目由于部分功能数据量比较大,加载比较缓慢,为了加快加载速度使用到了Redis,主要是用通过Spring Data Redis来实现声明式缓存,Spring配置文件需要配置如下几项基本的
上面的配置已经和Spring集成了就,我们采用声明式注解的方式@Cacheable的方式来显示的注明需要缓存,@Cacheab里面有几个可以配置的项value为cacheNames,key为缓存的键,以前用过EHChche的原因,错误的认为如果不写key就会按照方法名和方法参数来作为缓存的键,但是实验的结果却完全不一样,如果不指定一个key,也不自己实现一个keyGenerator的话那么默认就是一个空的key,这样的现象就是当你缓存第一个的时候成功,以后再缓存的话就会获取到第一个缓存的数据,因为其实缓存的key都是空的,所以要么实现一个自己的生成键的策略要么指定一个key,key的标注方式可SpEL表达式,如下:
这样就可以动态生成我们自定义的key,需注意key的唯一。目前数据同步我们是根据当缓存的数据发生CUD操作时就情况该缓存,使用@CacheEvict注解,value即为对应缓存的key。
最近项目由于部分功能数据量比较大,加载比较缓慢,为了加快加载速度使用到了Redis,主要是用通过Spring Data Redis来实现声明式缓存,Spring配置文件需要配置如下几项基本的
<bean id="redisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"> <property name="hostName" value="127.0.0.1" /> <property name="port" value="6379" /> <property name="usePool" value="true" /> </bean> <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate"> <property name="connectionFactory" ref="redisConnectionFactory" /> </bean> <bean id="cacheManagerRedis" class="org.springframework.data.redis.cache.RedisCacheManager"> <constructor-arg ref="redisTemplate"></constructor-arg> </bean> <cache:annotation-driven cache-manager="cacheManagerRedis" />
上面的配置已经和Spring集成了就,我们采用声明式注解的方式@Cacheable的方式来显示的注明需要缓存,@Cacheab里面有几个可以配置的项value为cacheNames,key为缓存的键,以前用过EHChche的原因,错误的认为如果不写key就会按照方法名和方法参数来作为缓存的键,但是实验的结果却完全不一样,如果不指定一个key,也不自己实现一个keyGenerator的话那么默认就是一个空的key,这样的现象就是当你缓存第一个的时候成功,以后再缓存的话就会获取到第一个缓存的数据,因为其实缓存的key都是空的,所以要么实现一个自己的生成键的策略要么指定一个key,key的标注方式可SpEL表达式,如下:
这样就可以动态生成我们自定义的key,需注意key的唯一。目前数据同步我们是根据当缓存的数据发生CUD操作时就情况该缓存,使用@CacheEvict注解,value即为对应缓存的key。
相关文章推荐
- java 连接Redis的小例子
- Java连接Vmware中的redis
- Java操作redis
- java实现redis数据库访问
- ABP源码分析三十:ABP.RedisCache
- Java操作Redis数据库方法(简单)
- Redis+linux的集群(五)
- Linux下Redis安装及配置
- Java 使用 Redis
- Redis 数据类型
- Redis+linux的Bundle池化(四)
- Redis安装_Window+Linux
- Redis+linux自定义池化(三)
- Redis参数配置说明
- Redis+linux入门(二)
- redis启用持久化
- Redis - 事务
- Redis入门(一)
- Redis实现关注关系
- Redis实现秒杀系统