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
重要性 なくなったら大変!! まあなくなっても...
利用例 ユーザー情報や投稿情報など ランキング情報など