這篇文章將為大家詳細講解有關 redis如何做連接池,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名注冊、網頁空間、營銷軟件、網站建設、美蘭網站維護、網站推廣。
redis針對每個鏈接請求也可以像數據庫那樣做池化處理,具體應用如下:
package redisOne;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class RedisPoolUtil {
private static JedisPool jedisPool = null;
static {
JedisPoolConfig config = new JedisPoolConfig();
//連接耗盡時是否阻塞, false報異常,ture阻塞直到超時, 默認true
config.setBlockWhenExhausted(true);
//是否啟用后進先出, 默認true
config.setLifo(true);
//最大空閑連接數, 默認8個
config.setMaxIdle(8);
//最大連接數, 默認8個
config.setMaxTotal(8);
//獲取連接時的最大等待毫秒數(如果設置為阻塞時BlockWhenExhausted),如果超時就拋異常, 小于零:阻塞不確定的時間, 默認-1
config.setMaxWaitMillis(-1);
//逐出連接的最小空閑時間 默認1800000毫秒(30分鐘)
config.setMinEvictableIdleTimeMillis(1800000);
//最小空閑連接數, 默認0
config.setMinIdle(0);
//每次逐出檢查時 逐出的最大數目 如果為負數就是 : 1/abs(n), 默認3
config.setNumTestsPerEvictionRun(3);
//對象空閑多久后逐出, 當空閑時間>該值 且 空閑連接>最大空閑數 時直接逐出,不再根據MinEvictableIdleTimeMillis判斷 (默認逐出策略)
config.setSoftMinEvictableIdleTimeMillis(1800000);
//在獲取連接的時候檢查有效性, 默認false
config.setTestOnBorrow(false);
//在空閑時檢查有效性, 默認false
config.setTestWhileIdle(false);
//逐出掃描的時間間隔(毫秒) 如果為負數,則不運行逐出線程, 默認-1
config.setTimeBetweenEvictionRunsMillis(-1);
jedisPool = new JedisPool(config, "localhost", 6379);
}
public static String getOneKey(String key) {
String value = jedisPool.getResource().get(key);
return value;
}
public static void setOneKey(String key, String value) {
jedisPool.getResource().set(key, value);
}
public static void main(String[] args) {
RedisPoolUtil.setOneKey("liuc", "liuc");
System.out.println(RedisPoolUtil.getOneKey("liuc"));
}
}對于使用spring做bean管理的,可以采用如下配置
<bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="maxTotal" value="2048" /> <property name="maxIdle" value="200" /> <property name="numTestsPerEvictionRun" value="1024" /> <property name="timeBetweenEvictionRunsMillis" value="30000" /> <property name="minEvictableIdleTimeMillis" value="-1" /> <property name="softMinEvictableIdleTimeMillis" value="10000" /> <property name="maxWaitMillis" value="1500" /> <property name="testOnBorrow" value="true" /> <property name="testWhileIdle" value="true" /> <property name="testOnReturn" value="false" /> <property name="jmxEnabled" value="true" /> <property name="jmxNamePrefix" value="youyuan" /> <property name="blockWhenExhausted" value="false" /> </bean> <bean id="redisPool" class="redis.clients.jedis.JedisPool"> <!-- 連接池配置 --> <constructor-arg index="0"> <ref bean="poolConfig" /> </constructor-arg> <!-- host --> <constructor-arg index="1" value="127.0.0.1" /> <!-- port --> <constructor-arg index="2" value="6379" type="int" /> </bean>
關于“ redis如何做連接池”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
分享標題:redis如何做連接池
本文網址:http://www.chinadenli.net/article22/iphcjc.html
成都網站建設公司_創(chuàng)新互聯,為您提供品牌網站建設、網站營銷、網頁設計公司、搜索引擎優(yōu)化、云服務器、ChatGPT
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯