redis Java工具類
redis 工具
</div>
[Java]代碼
private static ShardedJedisPool sharedJedisPool;
public synchronized static void init(Set<RedisDiamond> rediset)
{
//關閉之前的連接池
if(sharedJedisPool!= null)
{
sharedJedisPool.destroy();
}
if(rediset.isEmpty())
{
System.err.println("嚴重錯誤,serious diamond setting error,取得UM not exist配置值不存在.");
}
else
{
List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>();
//使用多節點sharding初始化數據
for(RedisDiamond redisDiamond : rediset)
{
JedisShardInfo jedisShardInfo = new JedisShardInfo(redisDiamond.getIp(), redisDiamond.getPort(), redisDiamond.getTimeout(),redisDiamond.getWeight());
if(!isBlank(redisDiamond.getPassword())){
jedisShardInfo.setPassword(redisDiamond.getPassword());
}
shards.add(jedisShardInfo);
}
sharedJedisPool = new ShardedJedisPool(RedisConfigurationAnalyzeUtil.getJedisPoolConfig(), shards);
}
}
public static boolean isBlank(String str) {
int strLen;
if (str == null || (strLen = str.length()) == 0)
return true;
for (int i = 0; i < strLen; i++)
if (!Character.isWhitespace(str.charAt(i)))
return false;
return true;
}
/**
* 獲取jedis連接池
* @return
*/
public synchronized static ShardedJedisPool getJedisPool(){
return sharedJedisPool;
}
/**
* jedis 連接回收
* @param jedis
* @param isFalg
*/
public static void returnResource(ShardedJedis jedis, boolean isFalg) {
if (null == jedis) {
return;
}
if (isFalg) {
sharedJedisPool.returnBrokenResource(jedis);
} else {
sharedJedisPool.returnResource(jedis);
}
} 本文由用戶 cenmin 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!