pom.xml
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
RedisUtil.java
package com.redis.RedisLock;
import java.util.Arrays;
import java.util.List;
import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisShardInfo;
import redis.clients.jedis.ShardedJedis;
import redis.clients.jedis.ShardedJedisPool;
public class RedisUtil {
private static Jedis jedis; //单实例
private static ShardedJedis shard; //分片
private static ShardedJedisPool shardedJedisPool;//连接池
/**
* 连接单个节点
*/
public static Jedis getSigleRedis() {
jedis=new Jedis("192.168.1.35",6379);
return jedis;
}
//关闭单个Redis连接
public static void closeRecource() {
jedis.disconnect();
}
/**
* 获取Redis分片连接池
* */
public static ShardedJedisPool getShardeJedisPool() {
//分片
List<JedisShardInfo> shards=Arrays.asList(
new JedisShardInfo("192.168.1.35",6379));//可写多个连接实例
shard=new ShardedJedis(shards);
GenericObjectPoolConfig poolConfig= new GenericObjectPoolConfig();
poolConfig.setMaxTotal(100);
poolConfig.setMaxIdle(20);
poolConfig.setMaxWaitMillis(-1);
poolConfig.setTestOnBorrow(true);
shardedJedisPool=new ShardedJedisPool(poolConfig, shards);
return shardedJedisPool;
}
//关闭单个Redis连接池
public static void closePoolRecource() {
shard.disconnect();
shardedJedisPool.destroy();
}
@Test
public void testSetString() {
getSigleRedis();//获取连接实例
jedis.set("name","单节点Redis");
closeRecource();//释放资源
}
@Test
public void testGetString() {
getSigleRedis();//获取连接实例
String value =jedis.get("name");
System.out.println(value);
closeRecource();//释放资源
}
}