Redis önbellek deposunu kullanmak istiyorum (redis-store gem kullanarak).Rayları Yeniden Başlatma Redis Önbellek deposu üzerine bağlantı Mağaza bağlantısı
Yerel olarak gayet iyi çalışıyor, ancak Yolcu'nun Rails çalışanlarının birden çok örneğini çektiği yerlerde üretim yaparken, Redis erişimiyle ilgili farklı örnekler arasındaki senkronizasyon sorunlarını gösteren Redis hatalarını alıyoruz.
böyle bir hata için bir örnek bazı okuma yapılır ve her Yolcu işçisi örneği kendi Redis bağlantısı oluşturmak gerektiğini öğrendik
Got '7' as initial reply byte. If you're running in a multi-threaded environment, make sure you pass the :thread_safe option when initializing the connection. If you're in a forking environment, such as Unicorn, you need to connect to Redis after forking.
redis (2.2.2) lib/redis/connection/ruby.rb:78:in `format_reply'
olduğunu. bu çözüm büyük - Bu
#config/initializers/redis_fork_init.rb
if defined?(PhusionPassenger)
PhusionPassenger.on_event(:starting_worker_process) do |forked|
if forked
$redis = Redis.new
end
end
end
varsayarsak Redis erişimi tüm kod $ üzerinde REDIS aracılığıyla yapılır Aşağıdaki kodu kullanarak uygulanmış olabilir.
Sorum şu: - okuma, yazma vb. Gibi Rails.cache
işlemleri yaparken kullanacağım yeni bir Redis bağlantısı nasıl oluşturabilirim?
config.cache_store = :redis_store, { :host => 'localhost', :port => 6379, :thread_safe => true }
Rails 3.2.3, REDIS 2.2.2 kullanarak REDIS mağaza 1.1.1, Yolcu 3,0
Ben 'çalışmak için $ redis.reconnect' alamadım ama' Rails.cache.reconnect' hile yaptı. – anthonyfojas
güzel bitti. Cevabını + 1d – Tor