2017-02-14 22 views
0

Я интегрирую redis с ofbiz с помощью jedis client. Один сервер redis используется различными приложениями. Мой вопросПо умолчанию соединения хранятся JedisPool

  1. Сколько соединение будет держаться JedisPool по умолчанию.

  2. Если я создаю множественные JedisPool это будет эффектом redis производительности

Примечания: я создаю JedisPool с конфигурацией по умолчанию в другом приложении.

client = new JedisPool(ip, port); 

Есть ли лучший подход ?, предложите мне. Благодаря

Update: Инициирование redis server с умолчанию 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 с этой конкретизации,

client = new JedisPool(ip, port); 

Вы используете GenericObjectPoolConfig из apache-commons-pool.

конфигурации по умолчанию для этого общего бассейна:

DEFAULT_MAX_TOTAL = 8 
DEFAULT_MAX_IDLE = 8 
DEFAULT_MIN_IDLE = 0 

2) Если я создать несколько JedisPool будет это эффект Redis производительность

Да и нет. Если вы создадите несколько JedisPool, у вас будет больше клиентов, подключенных к Redis. Но Redis может поддерживать множество подключенных клиентов с очень хорошей производительностью.

Вы можете установить авторизованный номер клиента Redis max в redis.conf (например, 10000 клиентов max).

maxclients 10000 

или при запуске:

./redis-server --maxclients 10000 

или Redis-кли:

127.0.0.1:6379> config set maxclients 10000 

В конфигурации по умолчанию, количество авторизованных клиентов не ограничено.

В зависимости от вашего варианта использования вы можете иметь несколько JedisPool или просто увеличить размер JedisPool (чтобы иметь более 8 соединений).