rails6 redisを使用する
rails6でredisを使用するまでの手順を記述してます。redisのバージョンは6.0.10を使用してます。
環境
- OS CentOS Linux release 7.9.2009 (Core)
- Ruby 2.7.2
- Rails 6.1.1
- redis 6.0.10
- rbenv 1.1.2-40-g62d7798
redis-railsインストール
まずは、railsでredisを使用できるように「redis-rails」をインストールします。
「Gemfile」に以下を追加します。
gem "redis-rails"
インストールします。
bundle install
redis利用
「config」ディレクトリ配下にある「application.rb」に、キャッシュの保存先をRedisに設定するため、以下を追加します。
module RailsTest
class Application < Rails::Application
config.load_defaults 6.1
# 追加
config.cache_store = :redis_store, "redis://localhost:6379/0/cache", { expires_in: 90.minutes }
end
end
ローカルでない場合は「Redis.new(:host => ‘IPアドレス’, :port => 6379)」とします。
「config/initializers」に「redis.rb」を作成します。
Redis.current = Redis.new
「controller」を作成します。
rails g controller redis index
作成した「app/controllers/redis_controller.rb」を以下のように編集します。
class RedisController < ApplicationController
def index
Redis.current.set("testkey", "mebee")
end
end
「app/views/redis/index.html.erb」も以下のように編集します。
<h1>Redis#index</h1>
<p>Find me in app/views/redis/index.html.erb</p>
<%= Redis.current.get("testkey") %>
ルーティングも設定しておきます。
get "redis", to: "redis#index"
確認
ブラウザから http://プライベートIP or サーバーアドレス:3000/redis にアクセスすると設定したkeyが取得できることが確認できます。
redis側でも登録されていることが確認できます。
redis-cli
127.0.0.1:6379> get testkey
"mebee"
-
前の記事
python フォルダやファイルをzip化する 2021.02.09
-
次の記事
C# sleep処理を行う 2021.02.09
コメントを書く