redis Java工具類

cenmin 8年前發布 | 8K 次閱讀 Java Redis

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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!