Redisについて勉強したので個人的な備忘録としてまとめます。
勉強しようと思ったきっかけ
たまたま触る機会があったプロジェクトでRedisを利用してあり、なにこれDBとは違うモノなの??みたいな状態になったので調べました。
備忘録として残そうと思います。
Redisってなに(今更
公式を翻訳してみると…
Redisはオープンソース(BSDライセンス)のインメモリデータ構造ストアで、データベース、キャッシュ、メッセージブローカーとして使用されます。文字列、ハッシュ、リスト、セット、範囲クエリを含むソートセット、ビットマップ、ハイパーログ、半径クエリを含む地理空間インデックス、ストリームなどのデータ構造をサポートします。Redisには、レプリケーション、Luaスクリプティング、LRU排除、トランザクション、およびさまざまなレベルのディスク上の永続性があり、Redis Sentinelを介した高可用性とRedis Clusterによる自動パーティショニングを提供します。
やばい…わからない。。。
さらに調べてみます。
ああっ、AWS様のドキュメントがある!
AWSの説明のほうがわかりやすくて助かった
Redis とは
Redis は、データベース、キャッシュ、メッセージブローカー、キューとして使用できるオープンソースの高速インメモリ型 key-value データストアです。ゲーム、アドテクノロジー、金融サービス、医療、IoT の分野のリアルタイムアプリケーションでミリ秒未満の応答時間を実現し、1 秒間に数百万件のリクエストを処理できます。Redis は、キャッシュ、セッション管理、リアルタイム分析、地理空間、チャットとメッセージング、メディアストリーミング、ゲームのリーダーボードでよく利用されています。
うんうん。わかりやすいぞ
ざっくりわかったこと
Redisは高速性を要する場合のデータストアとして利用される。キャッシュとかセッションストアとかで使われる。
リアルタイム分析に向いていると。なるほどー!
しかもインメモリだけど、永続化する仕組みまであるのか。すごい。
要件によってはDB用意しなくても事足りる場合もあるのかな…?