spring和redis整合集成步骤
一、准备工作
1、 已经安装好redis服务 (windows 版,linux 版都可以)
2、 依赖jar: jedis-2.9.0.jar 、 commons-pool
2-2.5.0.jar
二、java中操作 (单机版--jedis操作)
/**
* @description: 单机版--jedis操作
* @param:
*
* @createDate:2018年3月2日 下午2:13:58
*/
// @Test
public void jedisSingle() throws Exception{
//1、 创建jedis对象
Jedis jedis=new Jedis("192.168.1.194", 601, 20);
jedis.auth("123");
//2、 获取数据
String str = jedis.get("name");
System.out.println(str);
//3、 关闭资源
jedis.close();
}
三、java中操作 (单机版-- 连接池操作)
/**
* @description:单机版-- 连接池操作
* @param:
* @
* @createDate:2018年3月2日 下午2:14:47
*/
@Test
public void jedisPool() throws Exception{
//1、 创建连接池配置对象,并设置相关属性
JedisPoolConfig jedisPoolConfig=new JedisPoolConfig();
jedisPoolConfig.setMaxIdle(300);
jedisPoolConfig.setMaxTotal(10000);
jedisPoolConfig.setMaxWaitMillis(200);
//2、 创建连接池对象
JedisPool jedisPool=new JedisPool(jedisPoolConfig,"192.168.1.194", 601,20,"123");
//3、 从连接池中获取一个jedis对象
Jedis jedis = jedisPool.getResource();
//4、 获取数据
String str = jedis.get("name");
System.out.println(str);
//5、 关闭资源 jedis
jedis.close();
//6、 系统服务关闭时,释放连接池资源
jedisPool.destroy();
}
四、java中操作 (jedis 集群版操作)
/**
* @description: jedis 集群版操作
* @param:
* @
* @createDate:2018年3月2日 下午2:58:10
*/
@Test
public void jedisCluster(){
//1、 创建 jedisCluster 对象
Set<redis.clients.jedis.HostAndPort> nodes=new HashSet<>();
nodes.add(new redis.clients.jedis.HostAndPort("192.168.1.194",6011));
nodes.add(new redis.clients.jedis.HostAndPort("192.168.1.194",6012));
nodes.add(new redis.clients.jedis.HostAndPort("192.168.1.194",6013));
nodes.add(new redis.clients.jedis.HostAndPort("192.168.1.194",6014));
nodes.add(new redis.clients.jedis.HostAndPort("192.168.1.194",6015));
nodes.add(new redis.clients.jedis.HostAndPort("192.168.1.194",6016));
JedisCluster jedisCluster=new JedisCluster(nodes);
//2、 获取数据
String str = jedisCluster.get("name");
System.out.println(str);
//3、关闭资源
jedisCluster.close();
}
五、 jedis 和 spring 整合
1、 单机版-- 连接池
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxIdle" value="300" /> <!-- 最大能够保持idel状态的对象数 -->
<property name="maxTotal" value="60000" /> <!-- 最大分配的对象数 -->
<property name="testOnBorrow" value="true" />
</bean>
<bean id="jedisPool" class="redis.clients.jedis.JedisPool">
<constructor-arg index="0" ref="jedisPoolConfig" />
<constructor-arg index="1" value="${redis.host}" />
<constructor-arg index="2" value="${redis.port}" type="int" />
<constructor-arg index="3" value="${redis.timeout}" type="int"/>
<constructor-arg index="4" value="${redis.password}"/>
</bean>
2、集群版
<bean id="jedisCluster" class="redis.clients.jedis.JedisCluster">
<constructor-arg>
<set>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.1.194"/>
<constructor-arg name="port" value="6011"/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.1.194"/>
<constructor-arg name="port" value="6012"/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.1.194"/>
<constructor-arg name="port" value="6013"/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.1.194"/>
<constructor-arg name="port" value="6014"/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.1.194"/>
<constructor-arg name="port" value="6015"/>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.1.194"/>
<constructor-arg name="port" value="6016"/>
</bean>
</set>
</constructor-arg>
</bean>
2018年3月2日 15:33:07