[英]Configure Redis connection on initialize
我正在使用Predictor
gem,並且在嘗試啟動gem時顯示:
"redis not configured! - Predictor.redis = Redis.new" (RuntimeError)
那么,如何在初始化時配置Redis Connection ?
謝謝
通常,這就是Redis
初始化的方式。
首先,一個好的做法是將其添加到您的config/environments/[environment_name].rb
。 因此,當您更改環境時,可以為Redis
維護不同的位置。
config.redis_host = "localhost"
然后在應用程序的config/initializers
路徑中創建redis.rb
並將代碼放置在下面以初始化Redis
。
require 'redis'
## Added rescue condition if Redis connection is failed
begin
$redis = Redis.new(:host => Rails.configuration.redis_host, :port => 6379)
rescue Exception => e
puts e
end
然后,您將可以在應用程序中使用全局變量$redis
來執行與Redis
相關的命令。
$redis.hset "my_hash", item.id, business.id
這是一篇有用的文章,其中包含更多詳細信息。
現在,根據本文檔的建議,這是您應該做的:
在config/initializers/predictor.rb
,
Predictor.redis = Redis.new(:url => ENV["PREDICTOR_REDIS"])
或者,為了提高性能,將hiredis添加為驅動程序(您需要先安裝hiredis gem)
Predictor.redis = Redis.new(:url => ENV["PREDICTOR_REDIS"], :driver => :hiredis)
然后,確保在要使用它的所有模型中include Predictor::Base
,
class CourseRecommender
include Predictor::Base
...
end
這是導致錯誤的代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.