Redisとは何か?その特徴やリレーショナルデータベースとの違い、memcachedとの比較、データ削除の仕組み、主要なデータ構造について初心者向けに簡単に解説します。
Redisがどういった特徴を持つのか、出来るだけ容易にまとめてみました。

Redis入門

Redis とは何か

  • Redis は、キーと5種類の値型の対応関係を格納する非常に高速な非リレーショナルデータベース(NoSQL)である

非リレーショナルデータベースがリレーショナルデータベースと比較して有利な点

  • ビックデータに強い
    • 大量のデータが高速に入ってくる場合、非リレーショナルデータベースは、分散アーキテクチャに基づいて構築されているため、1つまたは、複数のデータベースサーバーもしくはノードが停止しても、システム内の他のノードがデータを失うことなく運用を継続でき、高い耐障害性が実現している
  • データモデルが柔軟
    • リレーショナルデータモデルは、テーブル間の定義された関係に基づき、それらのテーブルはあらかじめ決まったカラム構造によって定義されている。そのため、大量のデータを扱うとき、スケーラビリティとパフォーマンスの面で問題がある。 一方、非リレーショナルデータモデルは、柔軟なデータモデルとなっているため、構造化・準構造化・非構造化データを問わず、安易に扱うことができる。

memcachedとの比較

  • 類似点
    • キーから値へのマッピングを格納することが可能
  • 相違点
    • Redisは2つの異なる方法で、ディスクに自動的にデータを書き出すことができる
    • 主データベースとして使うことも、他のストレージシステムの補助データベースとして使うこともできる。
    • 4種類のデータ構造を格納できる

要素の削除方法

  • memcached
    • ブラックリストを使って、要素を隠し、読み出し/更新/書き込み(あるいはデータベースクエリーとmemcachedへの書き込み)の対象にならないようにする
  • Redis
    • を使い、要素を直接削除する
要素の削除の観点では、Redisを使うほうが、コードが短く、わかりやすくなる。また、高速になる(データを更新するためにデータベースを読み出す必要がなくなるので)

Redisのデータ構造

値は5種類のデータ構造の中のどれか1つ
  • STRING
  • LIST
  • SET
  • HASH
  • ZSET
💡
この記事はこちらのクロスポストです

小幡 十矛(Obata Tomu)|価値を共創するエンジニア
東京を拠点に、アプリ開発・新規事業立ち上げ・ブランドづくりに取り組んでいます。
2021年にサイバーエージェントへ新卒入社後、ABEMA Live や AmebaブログのiOSアプリ開発を担当
現在はフリーランスとして、複数の新規プロダクトやリアル店舗の立ち上げに挑戦中です。
🎯 Mission|人の挑戦を加速する仕組みをつくる ── アイデアを形にし、前に進める“土台”や“場”を共創する
📌 「リアルな場 × デジタル」の可能性を探求し、新しい挑戦が生まれる土壌を育てる
🔹 エンジニアリング × ビジネスの視点から、アイデアを形にし、成長を支えていく
🔹 実店舗オーナーを目指し、オーダースーツ・ドライヘッドスパ・セレクトショップの複合店舗の立ち上げにも挑戦中
👥 特に、社会人1〜5年目くらいで
「やりたい気持ちはあるけど、最初の一歩に迷っている」方へ。 「自分の可能性をもっと広げたい」 「モヤっとしたアイデアがあるけど、どう進めていいかわからない」 そんなフェーズにいる方と、一緒に考えたり、手を動かしたりできたら嬉しいです。
🌱 「挑戦したい20代」との出会いも、大切にしています。 「ちょっと話してみたいな」くらいの気持ちで、気軽に声をかけてもらえたら嬉しいです!🙌
📷 Instagram(リアルイベントや趣味の発信中心): https://www.instagram.com/tomu28creator
🌐 詳しいプロフィールはこちら https://obata-tomu.jp/