Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

Apa cara terbaik untuk menggunakan Redis di lingkungan Multi-threaded Rails? (Puma / Sidekiq)

Anda menggunakan kumpulan koneksi global terpisah untuk kode aplikasi Anda. Letakkan sesuatu seperti ini di penginisialisasi redis.rb Anda:

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

Sekarang di kode aplikasi Anda di mana saja, Anda dapat melakukan ini:

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

Anda akan memiliki hingga 10 koneksi untuk dibagikan di antara pekerja puma/sidekiq Anda. Ini akan menghasilkan kinerja yang lebih baik karena, seperti yang Anda perhatikan dengan benar, Anda tidak akan memiliki semua utas yang memperebutkan satu koneksi Redis.

Semua ini didokumentasikan di sini: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. Bagaimana cara menjalankan Redis di Windows 32 bit?

  2. Bisakah teknologi ini menumpuk skala?

  3. Bagaimana cara menjeda atau melanjutkan tugas seledri?

  4. Menghubungkan ke Redis yang berjalan di Docker Container dari mesin Host

  5. Gandakan kunci di redis