sql >> Databáze >  >> NoSQL >> Redis

Jaký je nejlepší způsob použití Redis v prostředí Multi-threaded Rails? (Puma / Sidekiq)

Pro kód aplikace používáte samostatný globální fond připojení. Vložte něco takového do inicializátoru redis.rb:

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

Nyní v kódu aplikace kdekoli můžete provést toto:

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

Budete mít až 10 připojení ke sdílení mezi svými pracovníky puma/sidekiq. To povede k lepšímu výkonu, protože, jak správně poznamenáte, nebudete mít všechna vlákna bojovat o jediné připojení Redis.

To vše je zdokumentováno zde:https://github.com/mperham/sidekiq/wiki/Advanced-Options#connection-pooling




  1. Náhodný záznam z MongoDB

  2. Převod řetězce na datum v mongodb

  3. Ukládání do mezipaměti v Django s Redis

  4. Jaká je výchozí cesta k databázi pro MongoDB?