JedisPool保留默认连接

时间:2017-02-14 07:46:35

标签: performance redis connection-pooling

我正在使用redisofbizjedis client进行整合。  一个redis服务器正在被不同的应用程序使用。 我的问题是

  1. 默认情况下JedisPool将保留多少连接。

  2. 如果我创建多个JedisPool,它会影响redis效果

  3. 注意:我在另一个应用程序中使用默认配置创建JedisPool

    client = new JedisPool(ip, port);
    

    有没有更好的方法?建议我。谢谢

    更新:使用默认配置用户redis server发起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}" />
    

1 个答案:

答案 0 :(得分:1)

1)默认情况下JedisPool将保留多少连接

通过使用JedisPool进行此实例化,

(1, 1)

您正在使用apache-commons-pool中的client = new JedisPool(ip, port);

此通用池的默认配置为:

GenericObjectPoolConfig

2)如果我创建多个JedisPool,它会影响redis性能

是和否。如果您创建多个JedisPool,您将有更多客户端连接到Redis。但是Redis可以为很多连接的客户提供非常好的性能。

您可以在redis.conf中设置Redis max客户端授权号码(例如最多10000个客户端)。

DEFAULT_MAX_TOTAL = 8
DEFAULT_MAX_IDLE = 8
DEFAULT_MIN_IDLE = 0

或在启动时:

maxclients 10000

或使用redis-cli:

./redis-server --maxclients 10000

在默认配置中,授权客户端的数量不受限制。

根据您的使用情况,您可以拥有多个JedisPool,或者只是增加JedisPool的大小(具有8个以上的连接)。