SET
コマンドでキーに値を格納できる。
SET key
GET
コマンドでキーに格納された値を取得できる。
GET key
DEL
コマンドでキーを削除できる。
DEL key [key ...]
キーが存在しているかを調べるには EXISTS
コマンドで確認できる。
EXISTS key
KEYS
コマンドでパターンにマッチするキーを列挙できる。キーのパターンにはGlobが使える。
KEYS pattern
KEYS
コマンドはパターンにマッチするキーをすべて列挙してしまうため、特にキーの多い本番データベースでは実行しないことが推奨されている。
代わりに SCAN
コマンドを使うようにする。
SCAN
コマンドは KEYS
コマンドと同様、パターンにマッチするキーをすべて列挙するが
を行うことができるため、本番環境では KEYS
ではなく SCAN
を使うことが推奨される。
SCAN cursor [MATCH pattern] [COUNT count] [TYPE type]
Redisにはストリング (string) やリスト、セット、ソート済みセットなどの型 (type) が存在する。
あるキーの型は TYPE
コマンドで確認できる。
TYPE key
Redisのデータ構造はフラットなKVS (Key-Value Store) である。ハッシュやリスト、セット、ソート済みセットなどのコレクション型をネストすることはできない。Redisのデータ構造で深い階層構造を表現するには、複数のキーを用いてデータ構造をフラットにする必要がある。
例
user:1000
user:1000:followers
キーの命名規則
複数のキーを用いてデータ構造をフラットにする場合、命名規則としてキーの区切り文字を決めておくことが推奨される。
(前述の例では :
)
複数コマンドの実行
複数コマンドを実行する場合、処理の中断により更新時異状が起きないよう配慮が必要である。 後述するトランザクション機能でこれを解決できる。
Redisではあらゆる単一の値はストリング (string) 型として表される。 一つのストリング型の値は512MBまでのデータを格納できる。
プログラミング言語の文脈で一般的に string は文字列と訳されるが、Redisの string を文字列と訳すとテキストの意味合いが強くなってしまうため、ここではストリングと訳している。
一方でストリング型に格納されている値の種類 (バイナリ, テキスト, 数値, 浮動小数点数) をエンコーディング (encoding) という。
あるキーに格納している文字列のエンコーディングは OBJECT ENCODING
コマンドで確認できる。
OBJECT ENCODING key
コマンド | 意味 |
---|---|
STRLEN key | 文字列の長さを返す。 |
APPEND key value | 文字列の末尾に value を挿入する。 |
コマンド | 意味 |
---|---|
INCR key | key に格納された整数を 1 だけ大きくする。 |
DECR key | key に格納された整数を 1 だけ小さくする。 |
INCRBY key increment | key に格納された整数を increment だけ大きくする。 |
DECRBY key increment | key に格納された整数を increment だけ小さくする。 |
コマンド | 意味 |
---|---|
INCRFLOATBY key increment | key に格納された浮動小数点数を increment だけ大きくする。 |
DECRFLOATBY key increment | key に格納された浮動小数点数を increment だけ小さくする。 |