Redis
 sql >> база данни >  >> NoSQL >> Redis

Какъв е най-добрият начин да използвате Redis в многонишкова Rails среда? (Пума / Сидекик)

Използвате отделен пул за глобални връзки за кода на приложението си. Поставете нещо подобно във вашия инициализатор на redis.rb:

require 'connection_pool'
REDIS = ConnectionPool.new(size: 10) { Redis.new }

Сега в кода на приложението си навсякъде можете да направите това:

REDIS.with do |conn|
  # some redis operations
end

Ще имате до 10 връзки, които да споделите между вашите служители на puma/sidekiq. Това ще доведе до по-добра производителност, тъй като, както правилно отбелязвате, няма да имате всички нишки да се борят за една връзка с Redis.

Всичко това е документирано тук:https://github.com/mperham/sidekiq/wiki/Advanced-Options#connection-pooling




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Отмяна на работни места в Laravel

  2. Въведение в Redis Cluster Sharding – предимства, ограничения, внедряване и клиентски връзки

  3. Блокиране на достъпа до ключа Redis (ServiceStack)

  4. Redis:Amazon EC2 срещу Elasticache

  5. Как да деактивирате Redis RDB и AOF?