##Redisとは
・KVSを保存する、NoSQLの一つ
・インメモリ方式
・セッションなど有効期限のあるデータを扱う場合
や、ランキングデータなど重たいSQLを走らせた
い場合に用いる
##実装手順
####Redisのインストール
$ brew install redis
####Redisサーバーの起動
$ redis-server
####Redisへの接続
$ redis-cli
###使用方法
SET を使って Key と Value を設定しデータを保存する。
GET で Key を指定して Value を取得する。
quit で redis-cli を終了。
redis> SET mykey "A"
OK
redis> GET mykey
"A"
redis> quit
###Railsへの導入
gem 'redis-rails'
後にbundle install
config/enviroments/◯◯.rbの使用したい環境
config.cache_store = :redis_store, 'redis://localhost:', { expires_in: 90.minutes }
###ブラウザでの出力
config/initializers/redis.rb
Redis.current = Redis.new
hostやpostを指定できるので、AWSのElastiCacheのRedisなどを使う場合はそれぞれを指定する必要がある
###ルーティング
resource :redis, only: %i[show]
app/controllers/redis_controller.rb
class RedisController < ApplicationController
def show
Redis.current.set('mykey', 'A')
end
end
config/initializers/redis.rb で定義した Redis.current に対して値を保存
app/views/redis/show.html.erb
<%= Redis.current.get('mykey') %>
###用語
KVS(キーバリューストア) 〜
キーとバリューのシンプルなデータを保存するタイプのデータベースのことで、RDBのような複雑なデータは扱えない反面、高速に動作するという特徴がある。
NoSQL 〜
Not Only SQLの略。RDBMSではないデータベースシステムを表す概念。