在不同的執行緒中使用相同的jedis例項會發生併發錯誤。但是建立太多的jedis例項也不好,因為這意味著會建立很多socket連線,也會導致不必要的錯誤發生。單一jedis例項不是執行緒安全的。為了避免這些問題,可以使用jedispool, jedispool是乙個執行緒安全的網路連線池。可以用jedispool建立一些可靠jedis例項,可以從池中拿到jedis的例項。 這種方式可以解決那些問題並且會實現高效的效能
jedispool pool = new jedispool();
或者 jedispool pool = new jedispool("127.0.0.1",6379);
或者 jedispoolconfig config = new jedispoolconfig();
//設定最大連線數
config.setmaxtotal(80);
//設定最大空閒數
config.setmaxidle(20);
//設定超時時間
config.setmaxwaitmillis(3000);
jedispool jedispool = new jedispool(config, "127.0.0.1", 6379);
jedispool pool = new jedispool();
jedis jedis = pool.getresource();
通過檢視原始碼可知,close方法內部會把這個jedis物件進**
public void close()else
}
JedisPool連線池的配置及使用
jedis自帶了乙個連線池 jedispool 1 建立jedispool連線池物件 2 呼叫連線池物件的方法 getresource 以獲取jedis連線 3 使用jedis連線 完成方法 4 將連線歸還到連線池中 最大活動物件數 redis.pool.maxtotal 1000 最大能夠保持id...
連線池與使用Tomcat的連線池
what is connection pool?看圖 1 存放connection物件的容器 2 減少連線資料庫的開銷 3 程式請求連線時,在connection pool中取連線 4 連線使用完後,放回connection pool,不釋放 5 connection pool對連線進行管理 計數 ...
使用Proxool連線池
jdbc mysql 127.0.0.1 3306 student com.mysql.jdbc.driver 10select current date proxool.xml這個檔案是用來設定別名的。其中標籤就是別名的設定段。alias是別名 driver url是驅動的url,就是連線的url...