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