ポイント: Redisは、データベース、キャッシュ、メッセージブローカーとして使用されるオープンソースのインメモリデータ構造ストアで、マイクロサービスやリアルタイム分析に最適です。その柔軟性と速度は、キューやセッションキャッシングを含むさまざまなアプリケーションに適しています。
- 複数のプログラミング言語をサポートし、その普及を促進しています。
- リアルタイム分析や機械学習タスクに一般的に使用されます。
この記事では、Redisについて紹介します。Redisは、データベース、キャッシュ、メッセージブローカーとして使用できるオープンソースのデータ構造ストアです。マイクロサービスを結びつける場合や、データストリームで使用するのに最適です。
Redisの主な特徴:
- 高速
- NoSQLデータベース
- 多くの環境で動作
Redisとは?
Redisはインメモリのデータベースです。つまり、そのすべてのストレージはメモリに保持されます。これにより迅速なアクセスと迅速な検索が可能ですが、スペースに制限があります。
データベースアーキテクチャでは、Redisは通常、クライアントとデータベースの間に配置され、NoSQLデータベースやアプリケーションの負荷を軽減します。
RedisはBSD 3条項ライセンスの下でリリースされているオープンソースソフトウェアです。これは、特定の種類の許可されたフリーソフトウェアライセンスです。Redisは、開発者のサルバトーレ・サンフィリッポが、自身のウェブサイトのスケーラビリティを改善する必要があったときに始まりました。彼はすぐにプラットフォームをオープンソース化しました。今日では、コアプロジェクトチームがRedisを開発および維持しており、2015年からRedis Labsによってスポンサーされています。
Redisのユースケース
Redisの主なユースケースは:
- キュー
- 発行/購読(Pub/sub)
- リアルタイム分析
- 機械学習
- 地理空間処理
- リーダーボード/カウント
- セッションキャッシュ
- フルページキャッシュ
Redisは、その速度と使いやすさが、IoTデバイスからのデータストリームの増加とリアルタイム分析のビジネスのニーズを補完するために望まれます。その速度とNoSQL構造により、リアルタイム処理と通過する必要のあるデータの量と種類の増加の両方に適した選択肢となります。
Redisは:
- データベースまたはアプリケーションからの負荷を減少させる
- キャッシュ時のデータアクセスのレイテンシを減少させる
- 機械学習のために高ボリューム、多様性、速度のデータ(3V)を迅速に処理する
- Amazon Kinesis、Apache Kafka、Google Storageなどのストリーミングソリューションと簡単に組み合わせる
Redisは多くの言語で動作します
Redisは多くの異なる言語で動作し、開発者が使い慣れている言語や企業が採用している言語で簡単に導入できます。
Redisを使用するのは誰ですか?
多くの企業がRedisを採用しており、これらの大規模なグローバル組織が含まれています。このリストは、Redisを使用する他の多くの企業を紹介しています。
一般的なRedisコマンド
Redisには、そのデータ型(文字列、ハッシュ、リスト、セット、ソートセット、ビットマップ、ハイパーログログ)を操作するためのコマンドがあります。
これらは、データ構造を扱うほとんどの言語で利用可能な標準コマンドのようなものです。
文字列
リスト
セット
文字列
| APPEND | 値をキーに追加 |
| SET | キーに値を設定 |
| GET | キーから値を取得 |
| INCR | キーの値を増加 |
リスト
| RPUSH | リストの末尾に新しい値を追加 |
| LPUSH | リストの先頭に新しい値を追加 |
| LINDEX | インデックスでリストから要素を取得 |
| LPOP | リストの最初の要素を削除して返す |
セット
| SADD | 指定された値をセットに追加 |
| SCARD | セットのメンバー数を取得 |
| SUNION | 2つ以上のセットを結合し、すべての要素のリストを返す |
| SMOVE | メンバーを1つのセットから別のセットに移動 |
詳細については、Redisガイドの残りを探索するか、GitHubのチートシートをご覧ください。
Redisのインストール
Redisを始める準備はできましたか?次の記事でRedisのインストール方法を説明します。あるいは、さまざまなダウンロードオプションを確認できるウェブページへのリンクを以下に示します:
関連文献
- BMC機械学習&ビッグデータブログ
- MongoDBガイド、30部構成の記事とチュートリアルシリーズ
- Dockerコマンド:チートシート
- CAP定理:一貫性、可用性、パーティション耐性
- ACID:原子性、一貫性、分離性、耐久性
これらの投稿は私自身のものであり、必ずしもBMCの立場、戦略、または意見を表すものではありません。