我正在使用Redis作为读取缓存。我已经创建了一个初始化程序
config/initializer/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 服务器时,我也使用这个全局变量。但是我不太喜欢使用全局变量。有没有比使用全局变量更好的选择?