Rails を使用すると非常にエレガントになります (以下からの回答もあります):
概要
次のコマンドを使用して Redis にデータを挿入しようとすると、Ruby スクリプトに問題が発生します。
redis.set(key,value)
コンソールは私にこう言います:
undefined method `set' for nil:NilClass (NoMethodError)
なぜ機能しないのかわかりません。スクリプトにrequire “redis”を挿入し、正しいgemをインストールしました。redis-serverは正しく実行されます。 これは Ruby スクリプトからの Redis 接続です。
redis = Redis.new(host: "127.0.0.1", port: 6379, db: 0)
これは私のスクリプトの例ですが、重要なデータがあるため共有できません。
require "redis"
begin
redis = Redis.new(host:"127.0.0.1", port: 6379, db: 0)
rescue => error
p error
end
redis.set("pizza", "bufala")
redis.close()
解決策
おそらく、Redis 接続の周りにエラー処理を追加して、正しく行われていることを確認してみるとよいでしょう。
begin
redis = Redis.new(host: "127.0.0.1", port: 6379, db: 0)
rescue => e
puts "Failed to connect to Redis: #{e}"
end
また、「redis.set(key,value)」を呼び出そうとしている場所から「redis」変数接続にアクセスできることも確認してください。 スクリプトの完全な構造を教えていただけますか。それは別のものかもしれません…