jedis連線池無法寫入/讀取資料的問題
阿新 • • 發佈:2019-02-01
osx 上parallels desktop 12 雙載 虛擬機器 Cent OS 和 Windows 10,
通過共享網路互聯,
在連線池專案中 無法執行,報錯JedisDataException
查詢網上的資料,應該是連續寫入導致的程式保護問題
package cn.stu.demo; import org.junit.Test; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; public class Demo_stu { @Test public void test1(){ Jedis jedis = new Jedis("10.211.55.7",6379); jedis.set("dd", "3"); String value = jedis.get("dd"); System.out.println(value); jedis.close(); } @Test public void test2(){ //1.配置連線池引數 JedisPoolConfig config = new JedisPoolConfig(); config.setMaxTotal(30); //2.獲取連線池物件 JedisPool pool = new JedisPool(config,"10.211.55.7",6379); //3.獲取連線物件 Jedis jedis = pool.getResource(); //4.操作資料庫 jedis.set("公寓", "2123"); String value = jedis.get("公寓"); System.out.println(value); //釋放資源 jedis.close(); pool.close(); } }
故根據網上資料說明:
stop-writes-on-bgsave-error yes
#預設情況下,如果在RDB snapshots持久化過程中出現問題,設定該引數後,Redis是不允許使用者
進行任何更新操作(set...)。避免人為強制停止redis 快照
解決:
進入redis src目錄下
啟動客戶端:
./redis-cli
輸入:
config set stop-writes-on-bgsave-error no