java连接redis进行操作
最基本的连接redis进行操作
需要的jar—-jedis-x.x.x.jar
public class Test{
public static void main(String[] args) {
Jedis redis = new Jedis("192.168.1.1",6379);
System.out.println(redis.get("name"));
}
}
使用连接池
额外需要的jar—-commons-pool2-x.x.x.jar
public class Test {
public static void main(String[] args) {
Jedis redis = RedisPoolUtil.getJedis();
System.out.println(redis.get("name"));
redis.close();//释放连接
}
}
class RedisPoolUtil {
private static String ADDR = "192.268.1.1";
private static int PORT = 6379;
// 可用连接实例的最大数目,默认值为8,-1表示不限制;
// 如果pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted(耗尽)。
private static int MAX_ACTIVE = 8;
// 控制一个pool最多有多少个状态为idle(空闲的)的jedis实例,默认值也是8。
private static int MAX_IDLE = 8;
// 等待可用连接的最大时间,单位毫秒,默认值为-1,表示永不超时。如果超过等待时间,则直接抛出JedisConnectionException;
private static long MAX_WAIT = 10000;
// 最大延迟时间
private static int TIMEOUT = 10000;
// 在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的;
private static boolean TEST_ON_BORROW = true;
private static JedisPool jedisPool = null;
static {
try {
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(MAX_ACTIVE);
config.setMaxIdle(MAX_IDLE);
config.setMaxWaitMillis(MAX_WAIT);
config.setTestOnBorrow(TEST_ON_BORROW);
jedisPool = new JedisPool(config, ADDR, PORT, TIMEOUT);
} catch (Exception e) {
e.printStackTrace();
}
}
public synchronized static Jedis getJedis() {
try {
if (jedisPool != null) {
Jedis resource = jedisPool.getResource();
return resource;
} else {
return null;
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
java操作redis集群
public class Test{
public static void main(String[] args){
Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
jedisClusterNode.add(new HostAndPort("192.168.1.1", 6339));
jedisClusterNode.add(new HostAndPort("192.168.1.1", 6349));
jedisClusterNode.add(new HostAndPort("192.168.1.1", 6359));
jedisClusterNode.add(new HostAndPort("192.168.1.1", 6369));
jedisClusterNode.add(new HostAndPort("192.168.1.1", 6379));
jedisClusterNode.add(new HostAndPort("192.168.1.1", 6389));
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(100);
config.setMaxIdle(20);
config.setMaxWaitMillis(-1);
config.setTestOnBorrow(true);
JedisCluster jc = new JedisCluster(jedisClusterNode, 6000, 100, config);
System.out.println(jc.get("name"));
}
}