とーますメモ

Ruby on Rails / Goなどの学習メモ

【Redis】MacでRedisを使ってみる

自分用メモ。


Redisとは、メモリ内にデータを保存するタイプのKVS。
永続性やデータ型のサポートがあることが特徴

クラッシュセーフではありません。
メモリは揮発的であり、クラッシュするとデータが飛んでしまいます。
スナップショットによる永続化も可能ですが、原理的に完全ではありません。

・最悪の場合、失っても問題がないもの
・高速な読み書きが必要なもの

という性質のデータを格納するのに適していると考えられます。
たとえば動的なページのキャッシュなどがこれにあたります。

[参考]
Redis入門: Redisとは? インメモリDBについて、memcachedとの違いなど | Simplie Post

インストール

brewでインストール可能

$ brew install redis

バージョン確認

$ redis-server -v

起動・停止

起動

$ redis-server

一時的に起動?

$ redis-server /usr/local/etc/redis.conf

起動確認

ps | grep redis-server

停止(redis-cli起動中)

127.0.0.1:6379> shutdown

停止(コマンド実行)

$ redis-cli shutdown

データ操作

データ操作に用いれられるコマンドは大文字でも小文字でも構わないっぽい。
Redis コマンド一覧 - Symfoware


PING

$ redis-cli
127.0.0.1:6379> ping
PONG

登録

$ redis-cli
127.0.0.1:6379> set hoge test
OK
127.0.0.1:6379> get hoge
"test"

削除

$ redis-cli
127.0.0.1:6379> keys *
1) "hoge"
127.0.0.1:6379> del hoge
(integer) 1
127.0.0.1:6379> keys *
(empty list or set)

DBごと削除

$ redis-cli
127.0.0.1:6379> flushdb

リアルタイムにクエリ情報を監視(便利!)

$ redis-cli
127.0.0.1:6379> monitor
.....
.....
.....

メモリ上のデータを保存

保存

127.0.0.1:6379> bgsave
Background saving started

保存場所

dump.rdb

cd /usr/local/var/db/redis/
ls
dump.rdb

dump.rdbがある状態で、再度redisを立ち上げると
データが復元されている。

設定の変更

redis.confを編集

$ vim /usr/local/etc/redis.conf

[参考]
redis.confの設定をしてみる - Qiita



ログイン時に起動したい場合

$ ln -sfv /usr/local/opt/redis/*.plist ~/Library/LaunchAgents
$ cd ~/Library/LaunchAgents
$ launchctl unload homebrew.mxcl.redis.plist
$ launchctl load homebrew.mxcl.redis.plist

ログファイル場所

/usr/local/var/log/redis.log

GUIクライアントのインストール

Redis Desktop Managerというのが日本語情報が多かったので採用
githubから最新のdmgを取得し、インストール。

Releases · uglide/RedisDesktopManager · GitHub
Redis Desktop Managerを使ってみる - Qiita




[参考]
RedisのGUIクライアントを集めてみた
www.omakase.org