2017-02-14 67 views
0

我正在使用jedis clientredisofbiz集成。 一個redis服務器正在被不同的應用程序使用。 我的問題是默認連接由JedisPool支持

  1. 多少連接將由JedisPool默認情況下舉行。

  2. 如果我創建多個JedisPool將它影響redis性能

注:我創造JedisPool與其他應用程序的默認配置。

client = new JedisPool(ip, port); 

有沒有更好的方法?,建議我。由於

更新:默認configuratoin用戶spring data

<bean id="connectionFactory" 
    class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" 
    p:host-name="${app.cache.redis.host}" p:port="${app.cache.redis.port}" p:password="${app.cache.redis.password}" /> 

回答

0

1)有多少連接將由JedisPool來保持默認

使用JedisPool這個實例啓動redis server

client = new JedisPool(ip, port); 

您正在使用apache-commons-pool中的GenericObjectPoolConfig

把這個通用池的默認配置是:

DEFAULT_MAX_TOTAL = 8 
DEFAULT_MAX_IDLE = 8 
DEFAULT_MIN_IDLE = 0 

2)如果我創建多個JedisPool將它的影響Redis的性能

是,也不是。如果您創建多個JedisPool,則會有更多的客戶端連接到Redis。但是Redis可以支持很多具有良好性能的連接客戶端。

您可以在redis.conf中設置Redis max客戶端授權號碼(例如最多10000個客戶端)。

maxclients 10000 

或在啓動時:

./redis-server --maxclients 10000 

或Redis的-CLI:

127.0.0.1:6379> config set maxclients 10000 

在默認配置下,授權客戶端的數量是無限的。

根據您的使用情況,您可以擁有多個JedisPool,或者只需增加JedisPool的大小(以便擁有8個以上的連接)。