Java Redis线程池ShardedJedisPool 使用方法,Java Jedis连接池的使用
Jedis 是 Redis 提供的以 Java API
方式操作 Redis 方式。下面来介绍一下 Redis Jedis 的连接池使用方式。
package com.test;
import java.util.ArrayList;
import java.util.List;
import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.JedisShardInfo;
import redis.clients.jedis.ShardedJedis;
import redis.clients.jedis.ShardedJedisPool;
public class RedisShardPoolDemo {
final static ShardedJedisPool pool;
static{
JedisPoolConfig config =new JedisPoolConfig();//Jedis池配置
config.setMaxActive(500);//最大活动的对象个数
config.setMaxIdle(1000 * 60);//对象最大空闲时间
config.setMaxWait(1000 * 10);//获取对象时最大等待时间
config.setTestOnBorrow(true);
String hostA = "123.0.0.1";
int portA = 6379;
String hostB = "123.0.0.2";
int portB = 6379;
List jdsInfoList =new ArrayList(2);
JedisShardInfo infoA = new JedisShardInfo(hostA, portA);
infoA.setPassword("pswd");
JedisShardInfo infoB = new JedisShardInfo(hostB, portB);
infoB.setPassword("pswd");
jdsInfoList.add(infoA);
jdsInfoList.add(infoB);
pool =new ShardedJedisPool(config, jdsInfoList);
}
/**
* @param args
*/
public static void main(String[] args) {
for(int i=0; i<100; i++){
String key = generateKey();
ShardedJedis jds = null;
try {
jds = pool.getResource();
System.out.println(key+":"+jds.getShard(key).getClient().getHost());
System.out.println(jds.set(key,Math.random()+""));
} catch (Exception e) {
e.printStackTrace();
} finally {
pool.returnResource(jds);
}
}
}
private static int index = 1;
public static String generateKey(){
return String.valueOf(Thread.currentThread().getId())+"_"+(index++);
}
}
版权所属:SO JSON在线解析
原文地址:https://www.sojson.com/blog/106.html
转载时必须以链接形式注明原始出处及本声明。
如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。