Redis 最短入門(1)2行でインストール&起動
Redis はKVS(key value store)
NOSQLで軽くJSONとってくるレスポンスブルなサーバーがあったらいいな、という人に。
メモリがあるだけ入って、落としたら消えてなくなってもヘーキなデータベースでいい?
インストールと使ってみるまで泣けるほどカンタン
Redis 最短入門(2)5分でAPI で、登録した値をJSONを返すAPIサーバーを作成します
CentOSの場合 Amazonのec2などでクリーンインストールの状態からどうぞ!
( sudo yum -y install epel-release ) ※epel入ってなければ先に
インストール
sudo yum -y install redis --enablerepo=epel
なにもせず、おもむろにサーバー起動
sudo service redis start
※一応、設定ファイル
/etc/redis.conf
コンソール起動
redis-cli
はじめは以下のコマンドで 登録 → 確認 削除、保存 終了などができる
値の追加
SADD "key" "value1" .."value2"..
- "key"にセットとして要素を追加する
セットの要素数の最大値は 2^32-1(4294967295, 1セットあたり4億以上のメンバ)です。
SET "key" "value1"
- "key"にstringとして要素を追加する
RPUSH "key" "value1" / LPUSH "key" "value1"
- "key"にlistとして要素を追加する (RPUSHは末尾、LPUSHは先頭)
値を取り出す、情報を見る
RANDOMKEY
- ランダムに一つだけキーを返す、えーっとどんなのがはいってたっけ?ってときに。
KEYS "k*"
- パターンマッチで存在するキーを返す。
INFO
- サーバーの状態を出す、現在どれくらいのメモリ使ってるかなとか確認
DBSIZE
- すべてのキーの件数を返す。INFOはトータル容量なので、キーの件数をみたいときに。
TYPE
- TYPE で型を確認したら、値を表示してみるコマンドの対応は以下の通り。
| none | string | list | set |
|---|---|---|---|
| 値なし | GET "key" | LINDEX "0" | SMEMBERS "key" / SRANDMEMBER "key" |
| 見ても無駄 | キーの値を返す | 指定したindexの要素を返す | すべてのメンバを返す/セットの中からランダムに一つ返す |
※セットした型と違ったメソッドを使うと怒られる
メンテナンス 削除、保存、終了
DEL "key"
- key の値を削除、型は関係ない
FLUSHALL FLUSHDB
- すべてのキーを削除(複数DBがあるときは FLUSHDB)
SAVE BGSAVE
- 現在のデータを保存。マシンをシャットダウンして、再起動してもこの状態から始まる
- 保存してる間も作業やアクセスがあるときは BGSAVE
SHUTDOWN
- SAVEと終了を同時に行ってくれる。