Redisのデータ構造

Redisとは

Redisとはメモリ上に展開されるKey-Valueストアのミドルウェアです。キーに紐づく値は単なる文字列だけでなく、リストやセットなどのより複雑なデータ構造でデータを保持することができます。

データ構造

Redisでは下記の5つの型で値を保持することができます。

  • 文字列型
  • リスト型
  • セット型
  • ソート済みセット型
  • ハッシュ型

文字列型(String)

文字列型はRedisにおける最も基本的なデータ型です。その名の通り文字列はもちろんのこと、バイナリセーフなため画像やシリアライズしたRubyオブジェクトなども保存することができます。その性質から、キャッシュやセッション管理などに利用されることがあります。

リスト型(List)

リストは文字列の配列を格納することができます。順番の概念があり、先頭や末尾にデータを挿入することができます。このデータ構造を活用して例えばジョブキューとして利用することができます。

セット型(Set)

セット型は順番のない文字列の集合です。Redisコマンドによって文字列を追加したり、削除することができます。集合であるため同じ値を追加することはできない。既に値が存在するか否かをO(1)でチェックすることができる。

ハッシュ型(Hash)

文字列のフィールドと文字列の値をハッシュテーブルとして保存することができる。複数のフィールドを持つことができるので、データを構造化するのに適している。

ソート済みセット型(Sorted set)

ソート済みセット型はセット型に似ています。唯一の違いはソート済みセット型はスコアと紐付けることが可能な点です。スコア順に並び替えたり、あるスコアのレンジだけ値を取り出す、といった操作を行うことができます。そのため、例えばSNSやゲームなどのWebサービスにおいてランキングの実装に用いられることがあります。

まとめ

Redisの5つのデータ構造について説明いたしました。それぞれ特徴があるため、目的によって使い分けることでより効率的に開発を進めることができるだけでなく、アプリケーションの高速化も期待できます。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする