簡體   English   中英

在初始化時配置Redis連接

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM