redisとは
前回redisを導入しましたが、そもそもredisって何ってところをまとめておこうと思います。
redisとは、KVS(Key Value Store)のひとつなのだそう。キー・値保存?
これまで永続化するデータはDBに入れていて、さらにDBのなかでもRDBといわれるものが主流となってさまざまなアプリケーションに利用されています。
しかし、RDB情報の出し入れはけっこうコストらしい。
いっぽう、KVSは軽くて速い。しかし、容量的にはRDBに劣る。
そのため、RDBはメインで利用され、KVSは部分的に利用されるといったイメージ。
KVSには型というものがほとんどない。
以下が主な型。
- 文字列型 -string
- ふつうの文字列。もっともシンプル. 1 value to 1 keyのデータ
- リスト型 -list
- 先頭や末尾の操作に便利。時系列的なデータ。
- セット型 -set
- 重複を許さない。タグ、ソーシャルグラフ。
- ソート済みセット型 -zset
- Setの特徴を持ちつつ個々の要素にスコア付き。ランキングデータ。
- ハッシュ型 -hash
- 連想配列。わかりやすいラベルと値のセット。
redisはインメモリデータベースといわれる。
メモリをデータベースとして扱うというようなもんか。
永続化はもちろん可能で、ディスクに書き出すしくみになっているらしい。
ただ、それをせずにサーバー落としたりするとそれまでの新しいデータが吹っ飛んだりするので、重要なデータはRDBで。
以下、超簡潔なまとめ
種類 | RDB | KVS |
---|---|---|
重要性 | なくなったら大変!! | まあなくなっても... |
利用例 | ユーザー情報や投稿情報など | ランキング情報など |