sql >> Database >  >> NoSQL >> Redis

Wat is de beste manier om Redis te gebruiken in een Multi-threaded Rails-omgeving? (Puma / Sidekiq)

U gebruikt een aparte globale verbindingspool voor uw applicatiecode. Zet zoiets als dit in je redis.rb initializer:

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

Nu overal in uw applicatiecode, u kunt dit doen:

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

Je hebt maximaal 10 connecties om te delen met je puma-/sidekiq-werkers. Dit zal leiden tot betere prestaties, aangezien, zoals u terecht opmerkt, niet alle threads vechten om een ​​enkele Redis-verbinding.

Dit alles wordt hier gedocumenteerd:https://github.com/mperham/sidekiq/wiki/Advanced-Options#connection-pooling




  1. Hoe selderij-redis configureren in django-project op Microsoft Azure?

  2. Bulk mongodb invoegen in Meteor of Node

  3. vervaldatum instellen voor Hashmap-waarden in Redis?

  4. Asynchrone uitvoering van redis-opdrachten