Jedis的连接和使用

来源:互联网 发布:粉红色的火烈鸟 知乎 编辑:程序博客网 时间:2024/06/18 12:39

static {
GenericObjectPoolConfig genericObjectPoolConfig=new GenericObjectPoolConfig();
genericObjectPoolConfig.setMaxIdle(maxIdle);
genericObjectPoolConfig.setMaxTotal(maxTotal);
genericObjectPoolConfig.setTestOnBorrow(testOnBorrow);
genericObjectPoolConfig.setMaxWaitMillis(maxWaitMillis);
String redisConfig = LoadProperty.getValueByKey(“redis.properties”, “portAndhost”);
System.out.println(redisConfig);
Set jedisClusterNodes = new HashSet();
String[] redisConfigs = redisConfig.split(“,”);
for(String str:redisConfigs){
String host = str.split(“:”)[0];
int port = Integer.parseInt(str.split(“:”)[1]);
jedisClusterNodes.add(new HostAndPort(host, port));
}
jc = new JedisCluster(jedisClusterNodes, timeOut, genericObjectPoolConfig);
}
这是静态方法,类加载的时候就可以创建Jedis连接池。
首先创建GenericObjectPoolConfig对象池,然后往里面传参数,LoadProperty这个是我写的配置文件读取工具,不用管,只要知道读取redis配置参数就好。解析得到的配置参数,将他传入set集合里面,调用JedisCluster构造函数就可以获取redis连接了。下面几个是常用的Jedis工具方法
/**
* 存储缓存
* @param key
* @param value
*/
public static void set(String key, Serializable value) {
try {
jc.setex(key.getBytes(Charset.forName(“UTF-8”)), seconds, toByteArray(value));
} catch (IOException e) {
logger.error( ” key :” + key + ” value :” + value + ” Cache Set ERROR ” + e);
}
}
/**
* 获取cache
* @param key
* @return
*/
public static Serializable get(String key) {
Object obj = new Object();
try {
obj = toObject(jc.get(key.getBytes(Charset.forName(“UTF-8”))));
} catch (IOException e) {
logger.error(” Get Cache toObject ERROR ” + e);
obj = null;
} catch (ClassNotFoundException e) {
logger.error(” Get Cache toObject ERROR ” + e);
obj = null;
}
return (Serializable) obj;
}
* 设置缓存
* @param key
* @param value
* @param time 单位秒
*/
public static void setCache(String key, Serializable value, Integer time) {
try {
jc.setex(key.getBytes(Charset.forName(“UTF-8”)), time, toByteArray(value));
} catch (IOException e) {
logger.error( ” key :” + key + ” value :” + value + ” Cache Set ERROR ” + e);
}
}
/**
* 删除指定key缓存
* @param key
*/
public static void delCacheByKey(String key){
jc.del(key);
}

原创粉丝点击