Redis
 Computer >> コンピューター >  >> プログラミング >> Redis

Redis をマスターする:インメモリ データベースのガイド

インメモリ データベースとは何ですか?

インメモリ データベースは、主にコンピュータのデータ ストレージとしてメイン メモリに依存するデータベース管理システムです。ディスク アクセスはメモリ アクセスよりも遅いため、インメモリ データベースはディスク最適化データベースよりも高速です。メモリ内のデータにアクセスすると、データをクエリする際のシーク時間がなくなり、ディスクよりも高速で予測可能なパフォーマンスが得られます。さまざまなライセンスで使用できるインメモリ データベースが多数あります。この記事では、よく知られたオープンソースのインメモリ データベースの 1 つである Redis について説明します。 Redis を始める前に、まずインメモリ データベースを使用する主な利点をいくつか見ていきます。

インメモリ データベースの利点

  • インメモリ データベースはビッグデータ管理に役立ちます
  • リアルタイムの更新が可能になり、企業は随時データにアクセスできるようになります。
  • 非常に高速なデータ アクセス、保存、操作を可能にするアプリケーションで使用されます。
  • インメモリ データベースにより、クエリの応答時間が短縮されるだけでなく、データのインデックス作成や、事前に集計されたデータを OLAP キューブまたは集計テーブルに保存する必要性が軽減されるか完全に排除されます。

レディス

Redis は、オプションの耐久性を備えた分散型メモリ内キー/値ストアを実装するオープンソースのメモリ内データベース プロジェクトです。 Redis は、文字列、リスト、マップ、セット、ソートされたセット、ハイパーログ、ビットマップ、空間インデックスなど、さまざまな種類の抽象データ構造をサポートします。詳細については、Redis インメモリ データベースをご覧ください。

アプリケーションで Redis インメモリ データベースを使用するには、まず Redis データベースをインストールする必要があります。ここからダウンロードできます。 Redis In-Memory Database の最新バージョンをダウンロードします。インストールの準備ができたら、簡単なコンソール アプリケーションを 1 つ作成して、それがどのように機能するかを確認してみましょう。

ステップ 1.  Visual Studio を開きます。ここでは Microsoft Visual Studio 2015 Community Edition を使用しています。 「ファイル」→「新規」→「プロジェクト」をクリックします。ここではデモの目的でコンソール アプリケーションを作成しています。

Redis をマスターする:インメモリ データベースのガイド

ステップ 2.  Redis に接続するには、まず Nuget パッケージから Redis クライアントをダウンロードする必要があります。ソリューション エクスプローラーで参照を右クリックし、[NuGet パッケージの管理] をクリックします。 NuGet パッケージ マネージャーが開き、ServiceStack.Redis.Complete を参照します。 [インストール] をクリックします。

Redis をマスターする:インメモリ データベースのガイド

ステップ 3. Redis 環境の準備ができたので、コードを実行してみましょう。ここでは 2 つの静的関数を作成します。1 つは Redis DB に値を挿入する関数で、もう 1 つは DB から値を読み取る関数です。

データを Redis データベースに保存するために、以下のコードを使用します。

///<summary>
///ToSaveKeyValuePairinRedisDB
///</summary>
///<paramname="host">RedisHostName</param>
///<paramname="key">Keyasstring</param>
///<paramname="value">Valueasstring</param>
///<returns></returns>
privatestaticboolSave(stringhost,stringkey,stringvalue)
{
using(varobjRedisClient=newRedisClient(host))
{
if(objRedisClient.Get<string>(key)==null)
{
returnobjRedisClient.Set<String>(key,value);
}
else
{
returnfalse;
}
}
}
///<summary>
///TogetvaluefromRedisDB
///</summary>
///<paramname="host">RedisHostName</param>
///<paramname="key">Keyasstring</param>
///<returns></returns>
privatestaticstringGet(stringhost,stringkey)
{
using(varobjRedisClient=newRedisClient(host))
{
returnobjRedisClient.Get<String>(key);
}
}

次の 2 つの関数を呼び出してこれをテストします。

staticvoidMain(string[]args)
{
Save("localhost","Key1","Value1");
varresult=Get("localhost","Key1");
}

このコードをデバッグした結果は次のとおりです。

Redis をマスターする:インメモリ データベースのガイド

結論

この記事では、Redis インメモリ データベースの基本的な実装について説明しました。この記事に添付されているサンプル アプリケーションのソース コードをダウンロードできます。この記事を読んで楽しんでいただければ幸いです。読み続けて、貴重なフィードバックを忘れずに投稿してください。


  1. Upstash Kafka と MongoDB コネクタを使用した低遅延セグメンテーション プラットフォームの構築

    はじめに セグメンテーション プラットフォームは、顧客、商品、その他の関連データを理解して分類する上で重要な役割を果たします。 セグメンテーションでは、特定の基準に基づいて、大きなグループをより小規模で均質なサブグループに分割します。 ここでは、パーソナライズされたマーケティング戦略、ターゲットを絞ったプロモーション、よりカスタマイズされたショッピング エクスペリエンスのための顧客のセグメンテーションなど、さまざまなドメインでのセグメンテーション プラットフォームの例をいくつか紹介します。 目次 要件を理解する 基本アーキテクチャ アーキテクチャコンポーネント 設計上の課題 提案されたソ

  2. インフラストラクチャマイクロサービスでRedisを使用する方法

    2019年に、Redisでイベントストアを作成する方法について書きました。 Redis Streamsは、トランザクションログのような不変の追加専用メカニズムにイベントを保存できるため、イベントストアに適していると説明しました。次に、そのブログで紹介されているサンプルのOrderShopアプリケーションの更新を使用して、Redisをメッセージキューとして使用する方法を示し、キャッシュ以外のRedisEnterpriseの多くのユースケースをさらに示します。 マイクロサービス、インフラストラクチャサービス、分散システムの概要 Redisは、メッセージキューやイベントストアなどのインフラストラク