検索
ホームページデータベースRedisRedis の一般的な使用方法は何ですか?

1. 一般的な使用方法

Redis の一般的な使用方法としては、

1.Redis の単一コピー、

2.Redis の複数のコピー (マスター/スレーブ) が挙げられます。 ;

3.Redis Sentinel;

4.Redis Cluster;

5.Redis は自社開発です。

2. さまざまな使用方法のメリットとデメリット

1. Redis シングル コピー

Redis シングル コピーは、単一の Redis ノード デプロイメント アーキテクチャを採用しており、バックアップ ノードはありません。データをリアルタイムで同期します。データの永続化やバックアップ戦略は提供されず、データの信頼性要件が低い純粋なキャッシュ ビジネス シナリオに適しています。

Redis の一般的な使用方法は何ですか?

利点:

シンプルなアーキテクチャと簡単な導入;

高いコスト パフォーマンス: を使用する場合、バックアップ ノードは必要ありません。キャッシュ (単一インスタンスの可用性はスーパーバイザまたは crontab で保証できます) もちろん、ビジネスの高可用性を満たすために、バックアップ ノードも犠牲にすることもできますが、同時に外部サービスを提供できるインスタンスは 1 つだけです。 #####ハイパフォーマンス。

欠点:

データの信頼性は保証されません;

キャッシュを使用すると、プロセスの再起動後にデータが失われます。たとえ高可用性を解決するためにバックアップ ノードがあったとしても、キャッシュの予熱の問題をまだ解決できないため、高いデータ信頼性要件を必要とするビジネスには適していません;

高性能はシングルコア CPU の処理能力によって制限されます (Redis はシングルコア CPU です)。スレッド機構)、CPU が主なボトルネックとなるため、ソートや計算が少なく、操作コマンドがシンプルなシナリオに適しています。代わりに Memcached の使用を検討することもできます。

2. Redis マルチコピー (マスター-スレーブ)

Redis マルチコピーはマスター-スレーブ (レプリケーション) 配置構造を採用しており、シングルコピーと比較して最大の特徴はマスター間のデータです。リアルタイム同期、データ永続化、およびバックアップ戦略が提供されます。同社の基本的な環境構成では、マスター/スレーブ インスタンスを異なる物理サーバーにデプロイできるため、外部サービスの同時提供と読み取り/書き込み分離戦略を実現できます。

Redis の一般的な使用方法は何ですか?
利点:

高信頼性: 一方で、デュアルマシンのアクティブおよびスタンバイ アーキテクチャを採用しており、メイン データベースに障害が発生した場合、スタンバイ スイッチングにより、スレーブ データベースがメイン データベースにサービスを提供するように昇格され、サービスのスムーズな運用が確保されます。一方、データ永続化機能をオンにして合理的なバックアップ戦略を構成すると、効果的にバックアップを実行できます。データの誤操作と異常なデータ損失の問題を解決します。

読み取りと書き込みの分離戦略: スレーブ ノードは、メイン データベース ノードの読み取り機能を拡張し、大規模な同時読み取り操作に効果的に対処できます。

欠点:

障害回復が複雑 RedisHA システムがない場合 (開発が必要)、メイン データベース ノードに障害が発生した場合、スレーブ ノードを手動でマスター ノードに昇格させる必要があります。ビジネス パーティに通知する必要があります。構成を変更し、他のスレーブ データベース ノードに新しいマスター データベース ノードをコピーさせる必要があります。プロセス全体には人間の介入が必要で、比較的面倒です。

マスターの書き込み能力データベースは単一マシンによって制限されるため、シャーディングを検討できます;

メイン ライブラリのストレージ容量は単一マシンによって制限されるため、Pika を検討できます;

ネイティブ レプリケーションの欠点Redis レプリケーションが中断された後、スレーブは pync を開始します。これは、同期が失敗した場合、完全な同期が実行されます。メイン ライブラリが完全バックアップを実行すると、ミリ秒または秒単位でバックアップが発生する可能性があります。 -レベルのラグ; COW メカニズムにより、極端な場合にはメイン ライブラリのメモリがオーバーフローし、プログラムが異常終了するかクラッシュします。マシン; メイン ライブラリ ノードはバックアップ ファイルを生成し、これによりサーバーのディスク IO と CPU (圧縮) リソースが消費されます。 ; 数 GB のバックアップ ファイルを送信すると、サーバーのエクスポート帯域幅が大幅に増加し、リクエストがブロックされるため、最新バージョンにアップグレードすることをお勧めします。

3. Redis Sentinel (センチネル)

Redis Sentinel は、コミュニティ バージョンで開始されたネイティブの高可用性ソリューションであり、そのデプロイメント アーキテクチャは主に、Redis Sentinel クラスターと Redis データ クラスターの 2 つの部分で構成されます。

Redis Sentinel クラスターは、複数の Sentinel ノードで構成される分散クラスターであり、障害検出、自動フェイルオーバー、構成センター、クライアント通知を実現できます。 Redis Sentinel を満たすノードの数は奇数である必要があり、その数は 2n 1 (n≥1) です。

Redis の一般的な使用方法は何ですか?

Redis の一般的な使用方法は何ですか?#利点:

Redis Sentinel クラスターのデプロイは簡単です。

Redis マスター/スレーブ モードでの高可用性スイッチングの問題を解決できます;

Redis データ ノードの線形拡張を実現し、Redis 自体のシングル スレッド ボトルネックを簡単に突破するのに非常に便利です。 Redis の大容量または高パフォーマンスのビジネス ニーズに大きく対応できます。;

Sentinel のセットを実装して、Redis データ ノードのグループまたは複数のデータ ノード グループを監視できます。

欠点:

デプロイメントは Redis マスター/スレーブ モードよりも複雑で、原理を理解するのがより面倒です;

リソースの無駄、システム内のスレーブ ノードRedis データ ノードはバックアップ ノードとして機能し、サービスは提供しません。

Redis Sentinel は、主に Redis データ ノード内のマスター ノードの高可用性切り替えを目的としています。Redis データ ノードの障害判定は分割されています。主観的オフラインと客観的オフラインの 2 つのタイプに分けられます Redis スレーブ ノードの場合: ノードは主観的にオフラインになり、フェイルオーバーは実行されません。

は読み取りと書き込みの分離の問題を解決できず、実装が比較的複雑です。

推奨事項:

同じビジネスを監視する場合は、Redis データ ノードの複数のグループを監視する Sentinel クラスターを選択できます。それ以外の場合は、Redis データ ノードのグループを監視する Sentinel クラスターを選択します。 。

センチネル モニター構成での推奨設定は、センチネル ノードの半分に 1 を加えたものです。センチネルが複数の IDC に展開されている場合、単一の IDC に展開されているセンチネルの数が (センチネル数 - クォーラム) を超えることは推奨されません。 )。

偶発的な切断を防止し、スイッチング感度制御を制御するためにパラメータを合理的に設定します:

a. クォーラム

b. ダウンアフターミリ秒 30000

c. ailover-timeout 180000

d.maxclient

e.timeout

デプロイされた各ノードのサーバー時刻は可能な限り同期する必要があります。そうしないと、ログのタイミングが同期されなくなります。混乱します。

Redis では、パイプラインとマルチキー操作を使用して RTT の数を減らし、リクエストの効率を向上させることをお勧めします。

構成センター (zookeeper) を自分で構成して、クライアントがインスタンス リンクにアクセスできるようにします。

4. Redis Cluster

Redis Cluster はコミュニティ バージョンによって開始された Redis 分散クラスター ソリューションであり、主に単一マシンのメモリ、同時実行性、およびボトルネックがある場合、Redis Cluster は適切な負荷分散の目的を達成できます。

Redis Cluster クラスター ノードの最小構成は 6 ノード (3 つのマスターと 3 つのスレーブ) を超えています。マスター ノードは読み取りおよび書き込み操作を提供し、スレーブ ノードはバックアップ ノードとして機能しますが、これらのノードは提供されません。リクエストを処理し、フェイルオーバーのみに使用されます。

Redis Cluster は仮想スロット パーティショニングを使用します。すべてのキーは、ハッシュ関数に従って 0 ~ 16383 の整数スロットにマッピングされます。各ノードは、スロットの一部とスロットによってマッピングされたキー値データを維持する責任があります。

Redis の一般的な使用方法は何ですか?

利点:

中央アーキテクチャなし;

データはスロットとデータに従って複数のノードに保存および分散されます。ノード間で共有され、データ分散を動的に調整できます。

スケーラビリティ: 1,000 を超えるノードに線形的に拡張でき、ノードを動的に追加または削除できます。

高可用性: 一部のノードがは使用できませんが、クラスターは引き続き使用できます。スレーブをスタンバイ データ コピーとして追加することで、自動フェイルオーバーを実現できます。ノードはゴシップ プロトコルを通じてステータス情報を交換し、投票メカニズムを使用してスレーブからマスターへの役割の昇格を完了します。

操作とメンテナンスコストを削減し、システム拡張のパフォーマンスと可用性を向上させます。

欠点:

クライアントの実装は複雑で、ドライバーにはスロット マッピング情報をキャッシュし、タイムリーに更新するスマート クライアントの実装が必要であるため、開発の難易度が高くなります。クライアントの状況はビジネスの安定性に影響を与えます。現時点では、JedisCluster のみが比較的成熟しており、一般的な「最大リダイレクト例外」などの例外処理部分はまだ完全ではありません。

ノードは何らかの理由によりブロックされ(ブロック時間がclutser-node-timeoutを超えている)、オフラインと判断されるため、この種のフェイルオーバーは必要ありません。

データは非同期的にレプリケートされるため、データの強い一貫性は保証されません。

複数の企業が同じクラスタを利用する場合、ホットデータとコールドデータが統計的に区別できず、リソースの分離が悪く相互影響が生じやすくなります。

スレーブはクラスター内で「コールド スタンバイ」として機能し、読み取りプレッシャーを軽減できません。もちろん、SDK の合理的な設計により、スレーブ リソースの使用率を改善できます。

mset や mget の使用などのキーのバッチ操作の制限では、現在、バッチ操作を実行するために同じスロット値を持つキーのみがサポートされています。異なるスロット値にマップされたキーの場合、キーはスロット間のクエリをサポートしていないため、mset、mget、sunion などの操作を実行するのはユーザーフレンドリーではありません。

キー トランザクション操作のサポートは制限されており、同一ノード上の複数キー トランザクション操作のみサポートされており、複数のキーが異なるノードに分散されている場合、トランザクション機能は使用できません。

データ パーティショニングではキーが最小の粒度であるため、大きなキー値オブジェクト (ハッシュ、リストなど) を含むデータを別のノードにマップすることはできません。

複数のデータベース スペースはサポートされません。スタンドアロン モードの Redis は、最大 16 のデータベースをサポートできます。クラスター モードでは、1 つのデータベース スペース (db 0) のみを使用できます。

レプリケーション構造は 1 つのレベルのみをサポートします。スレーブ ノードはマスター ノードのみをレプリケートでき、ネストされたツリー レプリケーション構造はサポートされません。

メイン データベース ノードがシステムの欠点となるホットキーの生成を避けてください。

ネットワーク カードの過負荷やクエリの遅延などを引き起こす可能性があるビッグキーの生成は避けてください。

再試行時間は、クラスターノード時間よりも長くする必要があります。

Redis クラスターでは、最大リダイレクト シナリオを減らすためにパイプライン操作と複数キー操作を使用することはお勧めしません。

「JVM、ロック、高同時実行性、リフレクション、Spring 原則、マイクロサービス、Zookeeper、データベース、データ構造などをカバーする」インタビュー ガイド「Java Core Knowledge Points Compilation.pdf」を共有します。 Java208 のインタビューの質問 (回答を含む) がある場合は、(Java Advanced Architecture) 705127209 に参加して無料で質問を入手してください。

5. Redis が自社開発した

Redis が自社開発した高可用性ソリューションは、主に構成センター、障害検出、フェイルオーバー処理メカニズムに反映されており、通常は実際のシステムに基づく必要があります。企業のオンライン ビジネス環境をカスタマイズします。

Redis の一般的な使用方法は何ですか?

Redis の一般的な使用方法は何ですか?

利点:

高信頼性と高可用性;

高い自律性と制御性;

適切なビジネス 実際のニーズ、優れた拡張性と優れた互換性。

欠点:

複雑な実装と高い開発コスト;

監視、ドメイン名サービス、メタデータ情報を保存するデータベースなどのサポート周辺機能の確立が必要.;

高額なメンテナンス費用。

以上がRedis の一般的な使用方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Redis:その機能と機能の調査Redis:その機能と機能の調査Apr 19, 2025 am 12:04 AM

Redisは、高速、汎用性、豊富なデータ構造のために際立っています。 1)Redisは、文字列、リスト、コレクション、ハッシュなどのデータ構造をサポートし、コレクションを注文します。 2)メモリを介してデータを保存し、RDBとAOFの持続性をサポートします。 3)Redis 6.0から始めて、マルチスレッドI/O操作が導入されました。これにより、高い並行性シナリオでパフォーマンスが向上しました。

RedisはSQLまたはNOSQLデータベースですか?答えが説明しましたRedisはSQLまたはNOSQLデータベースですか?答えが説明しましたApr 18, 2025 am 12:11 AM

redisisclassifiedsaNosqldatabasebasesakey-valuedataModelinsteaded ofthetraditionaldatabasemodel.itoffersspeedand andffficability、makingidealforreal-timeaplications andcaching、butmaynotbesbesutable fors cenariois requiring datientiantientioniity

Redis:アプリケーションのパフォーマンスとスケーラビリティの向上Redis:アプリケーションのパフォーマンスとスケーラビリティの向上Apr 17, 2025 am 12:16 AM

Redisは、データをキャッシュし、分散ロックとデータの持続性を実装することにより、アプリケーションのパフォーマンスとスケーラビリティを向上させます。 1)キャッシュデータ:Redisを使用して頻繁にアクセスしたデータをキャッシュして、データアクセス速度を向上させます。 2)分散ロック:Redisを使用して分散ロックを実装して、分散環境での操作のセキュリティを確保します。 3)データの持続性:データの損失を防ぐために、RDBおよびAOFメカニズムを介してデータセキュリティを確保します。

Redis:データモデルと構造の調査Redis:データモデルと構造の調査Apr 16, 2025 am 12:09 AM

Redisのデータモデルと構造には、5つの主要なタイプが含まれます。1。文字列:テキストまたはバイナリデータの保存に使用され、原子操作をサポートします。 2。リスト:キューとスタックに適した注文された要素コレクション。 3.セット:順序付けられていない一意の要素セット、セット操作をサポートします。 4。注文セット(sortedset):ランキングに適したスコアを持つ一意の要素セット。 5。ハッシュテーブル(ハッシュ):オブジェクトの保存に適したキー価値ペアのコレクション。

Redis:データベースアプローチの分類Redis:データベースアプローチの分類Apr 15, 2025 am 12:06 AM

Redisのデータベースメソッドには、メモリ内データベースとキー価値ストレージが含まれます。 1)Redisはデータをメモリに保存し、速く読み取り、書き込みます。 2)キー価値のペアを使用してデータを保存し、キャッシュやNOSQLデータベースに適したリスト、コレクション、ハッシュテーブル、注文コレクションなどの複雑なデータ構造をサポートします。

なぜRedisを使用するのですか?利点と利点なぜRedisを使用するのですか?利点と利点Apr 14, 2025 am 12:07 AM

Redisは、高速パフォーマンス、リッチデータ構造、高可用性とスケーラビリティ、持続性能力、幅広いエコシステムサポートを提供するため、強力なデータベースソリューションです。 1)非常に速いパフォーマンス:Redisのデータはメモリに保存され、非常に速い読み取り速度と書き込み速度が高く、高い並行性と低レイテンシアプリケーションに適しています。 2)豊富なデータ構造:さまざまなシナリオに適したリスト、コレクションなど、複数のデータ型をサポートします。 3)高可用性とスケーラビリティ:マスタースレーブの複製とクラスターモードをサポートして、高可用性と水平スケーラビリティを実現します。 4)持続性とデータセキュリティ:データの整合性と信頼性を確保するために、データの持続性がRDBとAOFを通じて達成されます。 5)幅広い生態系とコミュニティのサポート:巨大なエコシステムとアクティブなコミュニティにより、

NOSQLの理解:Redisの重要な機能NOSQLの理解:Redisの重要な機能Apr 13, 2025 am 12:17 AM

Redisの主な機能には、速度、柔軟性、豊富なデータ構造のサポートが含まれます。 1)速度:Redisはメモリ内データベースであり、読み取り操作はほとんど瞬間的で、キャッシュとセッション管理に適しています。 2)柔軟性:複雑なデータ処理に適した文字列、リスト、コレクションなど、複数のデータ構造をサポートします。 3)データ構造のサポート:さまざまなビジネスニーズに適した文字列、リスト、コレクション、ハッシュテーブルなどを提供します。

Redis:主要な機能を特定しますRedis:主要な機能を特定しますApr 12, 2025 am 12:01 AM

Redisのコア関数は、高性能のメモリ内データストレージおよび処理システムです。 1)高速データアクセス:Redisはデータをメモリに保存し、マイクロ秒レベルの読み取り速度と書き込み速度を提供します。 2)豊富なデータ構造:文字列、リスト、コレクションなどをサポートし、さまざまなアプリケーションシナリオに適応します。 3)永続性:RDBとAOFを介してディスクにデータを持続します。 4)サブスクリプションを公開:メッセージキューまたはリアルタイム通信システムで使用できます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。