Redisの仕組みについて調べてみた
Webアプリケーションの開発を行う際によく高速化やパフォーマンスを上げるための一つの方法として、Redisを使うことがよくあります。Redisの仕組みについて少しでも分かれば良いと思っております。
RedisはインメモリDBの一つであるが、単なるKVSではなく、永続性やデータ型のサポートのような特徴を持っています。
Redisとは
Redisは、データ構造サーバーを実装するオープンソース・ソフトウェアプロジェクトであります。NoSQLデータベースの一つであり、ネットワーク接続されたインメモリデータベースでかつキーバリューがデータベースである。
インメモリDBの一つで、メモリ上にデータを保存することができるデータベースとなっている。メモリはCPUから直接アクセスできるため、RDBなどのストレージに保存するデータベースと比較して、非常に高速に動かすことができます。
RDBなどのストレージに保存するタイプのデータベースでも、ストレージをSSDにすることで、高速に動作させることができるが、SSDは二次記憶装置であり、CPUから直接アクセスすることができません。
また、揮発性のメモリを使用しているため、常に電源の供給がないとデータを保存し続けることができずに、データを失ってしまうという性質もあります。
データ構造
Redisは。data structure server(データ構造サーバー)と呼ばれています。複数の文字列要素からなるデータ構造をバリューとして持つことができ、通常の文字列型バリューと同じようにキーで参照することができます。
Redis で保存できるデータ
- リスト型
- セット型
- ハッシュ型
RDBとの使い分け
Redisの場合、ハードディスクに比べメモリのほうがより高価であるので、容量が限られてきます。なので、大きなデータの格納には向いていません。
また、Redisは揮発性のメモリを使っているため、クラッシュした際にデータも飛んでしまうことがあるので、失ってしまうと困るデータの保存には向いていません。
Redisの導入
macの場合
brew install redis
起動と終了
#redis の起動
redis-server
#redis のclient起動
redis-cli
#redis の終了
exit
#内容のdump
shutdown
ディスカッション
コメント一覧
まだ、コメントがありません