redis结合springMVC配置和使用一

来源:互联网 发布:centos grub引导修复 编辑:程序博客网 时间:2024/06/08 09:39

目前Redis大概有3中基于Java语言的Client:JredisJedisRedis4J

我们以jedis为例(它是官方提供的唯一Redis Client For Java Provider

1、maven项目引入redis包:

<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.6.2</version></dependency>
当然你可以选择更高版本,现在在3.0以上;

2、引入redis后再application.xml中配置redis

(1)配置哨兵,所为哨兵:一个独立的进程,顾名思义就是“监控”啦,

         作用:@1监控主数据库和从数据库是否正常工作;

                     @2主数据库出现故障时自动将从数据库转换为主数据库

(注意:虽然我用的2.6版本的redis,但是有书上说此时的哨兵是1.0版本,存在许多问题,不建议使用,redis2.8版本提供的是哨兵2,可用此版本)

(注意2:关于实现原理请关注博主后续文章更新,转载请注明出处http://blog.csdn.net/qililong88/article/details/72301774点击打开链接)

<bean id="sentinelConfig" class="org.springframework.data.redis.connection.RedisSentinelConfiguration"><property name="master"><bean class="org.springframework.data.redis.connection.RedisNode"><property name="name" value="${redis.master}"></property></bean></property><property name="sentinels"><set><bean class="org.springframework.data.redis.connection.RedisNode"><constructor-arg name="host" value="${sentinel1.ip}"></constructor-arg><constructor-arg name="port" value="${sentinel1.port}"></constructor-arg></bean><bean class="org.springframework.data.redis.connection.RedisNode"><constructor-arg name="host" value="${sentinel2.ip}"></constructor-arg><constructor-arg name="port" value="${sentinel2.port}"></constructor-arg></bean><bean class="org.springframework.data.redis.connection.RedisNode"><constructor-arg name="host" value="${sentinel3.ip}"></constructor-arg><constructor-arg name="port" value="${sentinel3.port}"></constructor-arg></bean></set></property></bean>

3、配置redis池,实现池化使用:

<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"><property name="maxTotal" value="200" /><!-- 控制一个pool可分配多少个jedis实例 --><property name="maxIdle" value="10" /> <!-- 控制一个pool最多有多少个状态为idle(空闲)的jedis实例 --></bean>
4、配置 jedisConnFactory

<bean id="jedisConnFactory"class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"p:database="8" p:use-pool="true" p:timeout="60000" p:password="${redis.password}"><constructor-arg name="sentinelConfig" ref="sentinelConfig" /><constructor-arg name="poolConfig" ref="jedisPoolConfig" /></bean>
5、配置redisTemplate,之后就可以直接依赖注入了不是吗,也不用每次都要想着关闭jedis链接了。

<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate"p:connection-factory-ref="jedisConnFactory"><property name="defaultSerializer"><beanclass="org.springframework.data.redis.serializer.StringRedisSerializer" /></property><property name="keySerializer"><beanclass="org.springframework.data.redis.serializer.StringRedisSerializer" /></property></bean>

好啦,配置完了,想不想试试,下一篇讲解redis在springMVC中的使用。