1. 程式人生 > >本地java連結遠端伺服器Linux上redis出錯解決方案

本地java連結遠端伺服器Linux上redis出錯解決方案

在redis.conf檔案中bind 127.0.0.1加上#號
在redis.conf檔案中把 #requirepass 的#號去掉,在後面加上鍊接redis-server的密碼
在redis.conf檔案中bind 127.0.0.1加上#號

在redis.conf檔案中把  #requirepass  的#號去掉,在後面加上鍊接redis-server的密碼

在本地用java程式碼連結:

//Redis伺服器IP
     private static String ADDR = "你的伺服器ip";

     //Redis的埠號
     private static int PORT = 6379;

     //訪問密碼
     private static String AUTH = "你配置的redis密碼";

     //可用連線例項的最大數目,預設值為8;
//如果賦值為-1,則表示不限制;如果pool已經分配了maxActive個jedis例項,則此時pool的狀態為exhausted(耗盡)。 private static int MAX_ACTIVE = 1024; //控制一個pool最多有多少個狀態為idle(空閒的)的jedis例項,預設值也是8。 private static int MAX_IDLE = 200; //等待可用連線的最大時間,單位毫秒,預設值為-1,表示永不超時。如果超過等待時間,則直接丟擲JedisConnectionException; private static
int 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; /** * 初始化Redis連線池 */ static { try { JedisPoolConfig config = new
JedisPoolConfig(); config.setMaxActive(MAX_ACTIVE); config.setMaxIdle(MAX_IDLE); config.setMaxWait(MAX_WAIT); config.setTestOnBorrow(TEST_ON_BORROW); jedisPool = new JedisPool(config, ADDR, PORT, TIMEOUT, AUTH); } catch (Exception e) { e.printStackTrace(); } } /** * 獲取Jedis例項 * @return */ 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; } } /** * 釋放jedis資源 * @param jedis */ public static void returnResource(final Jedis jedis) { if (jedis != null) { jedisPool.returnResource(jedis); } }

測試連結:

Jedis jedis = RedisUtil.getJedis();
        if(jedis.isConnected()){
            System.out.println("連線成功");
        }else{
            System.out.println("連結失敗");
        }

        //jedis.set("str1", "麼麼噠");            //儲存資料
       System.out.println(jedis.get("str1"));    //取出資料

控制檯:
控制檯輸出