Я использую redis как кэш чтения. Я создал инициализатор
конфигурации/инициализатор/redis.rb
$redis = Redis.new(:host => ENV["REDIS_HOST"], :port => ENV["REDIS_PORT"])
Я использую этот глобальный в своем unicorn.rb для создания нового соединения всякий раз, когда создается новый рабочий.
before_fork do |server, worker|
# clear redis connection
$redis.quit unless $redis.blank?
end
# Give each child process its own Redis connection
after_fork do |server, worker|
$redis = Redis.new(:host => ENV["REDIS_HOST"], :port => ENV["REDIS_PORT"])
end
Я также использую эту глобальную переменную всякий раз, когда мне нужно получить доступ к моим серверам redis. Но мне не нравится использовать эту глобальную переменную. Есть ли лучшие варианты, чем использование глобальной переменной?