この記事では、Redis の稼働状況の監視、データ移行、クラスター管理の方法を確認するための便利な Redis 運用および保守ツールをいくつか紹介します。
Redis を適用すると、Redis の実行状況監視、データ移行、マスター/スレーブ クラスターやスライス クラスターのデプロイと運用などの運用保守作業が発生することがよくあります。次に、これら 3 つの側面からいくつかのツールを紹介します。まず、Redis のリアルタイムの実行状態を監視するツールについて学習しましょう。これらのツールはすべて、Redis が提供する監視コマンド INFO を使用します。 [関連する推奨事項: Redis ビデオ チュートリアル ]
最も基本的な監視コマンド: INFO コマンド
Redis 自体によって提供される INFO コマンドは、実行中のリッチ インスタンスの監視を返します。情報、このコマンドは Redis 監視ツール の基礎です。
INFO コマンドを使用する場合、パラメータ セクションを取得できます。このパラメータにはいくつかの値があります。これに応じて、INFO コマンドもさまざまな種類の監視情報を返します。 INFO コマンドの戻り情報を大きく 5 つのカテゴリに分けましたが、次の表に示すように、カテゴリによっては監視内容が異なります。 INFO コマンドによって返される情報は非常に便利です。 INFO コマンドのすべてのパラメータによって返される結果の詳細な意味を知りたい場合は、Redis
公式 Web サイトの紹介を確認してください。ここでは、運用およびメンテナンス中に注目する必要があるいくつかのパラメータと、それらの重要な戻り結果について説明します。
単一インスタンスを実行しているかクラスターを実行しているかに関係なく、stat、commandstat、cpu、memory という 4 つのパラメーターの戻り結果に注目することをお勧めします。コマンドの実行状況(コマンドの実行回数や実行時間、コマンドが使用しているCPUリソースなど)、メモリリソースの使用状況(メモリ使用量、メモリ断片化率など)、CPUリソース使用量など、インスタンスの実行状況やリソースの消費状況を判断するのに役立ちます。
さらに、RDB または AOF 機能を有効にする場合は、永続化パラメーターの戻り結果に注目する必要があります。これにより、RDB または AOF の実行ステータスを確認できます。マスター/スレーブ クラスターを使用している場合は、マスター/スレーブ同期のリアルタイム ステータスを含むレプリケーション パラメーターの戻り結果に注目する必要があります。
ただし、INFO コマンドは監視結果をテキスト形式で提供するだけで、視覚化されません。そのため、実際のアプリケーションでは、サードパーティのオープン ソース ツールを使用して、INFO コマンドによって返された結果を視覚化することもできます。次にプラグインを通じてRedisの統計結果を可視化できるPrometheusについてお話します。 Prometheus の Redis エクスポーター監視Prometheus
は、オープンソースのシステム監視およびアラーム フレームワークです。その中心的な機能は、監視対象システムから監視データを取得し、それをGrafana
ツールと組み合わせて視覚的に表示することです。さらに、監視データを時系列データベースに保存して、運用および保守担当者による履歴のクエリを容易にすることができます。同時に、Prometheus はシステムの監視指標が事前に設定されたしきい値を超えているかどうかを検出し、しきい値を超えるとアラームをトリガーします。これらの機能は、システムの日常の運用および保守管理にとって非常に重要です。 Prometheus は、これらの機能を使用するためのツール フレームワークを実装しています。監視対象システムから監視データを取得できれば、Prometheusを利用して運用・保守監視を実現できます。 Prometheus は、システムを監視するためのプラグイン機能を提供します。プラグイン エクスポーターと呼ばれます。各エクスポーターは、実際には監視データを収集するコンポーネントです。エクスポータが収集するデータ形式は Prometheus の要件を満たしており、Prometheus がデータを取得した後、表示および保存することができます。
Redis-exporter
は Redis を監視するために使用され、INFO コマンドによって監視された実行ステータスとさまざまな統計情報を Prometheus に提供し、視覚的な表示とアラーム設定を提供します。現在、Redis-exporter は Redis バージョン 2.0 から 6.0 までをサポートしており、幅広いアプリケーションを備えています。 Redis インスタンスの実行ステータスを取得することに加えて、Redis-exporter はキーと値のペアのサイズとコレクション型データの要素数も監視できます。 Redis-exporter を実行するときのキーのコマンド ライン。実装するオプション。最後に、さらに 2 つのガジェット、redis-stat と Redis Live を共有したいと思います。 Redis-exporter と比較すると、これら 2 つは軽量な監視ツールです。これらはそれぞれ Ruby と Python で開発されており、INFO コマンドによって提供されるインスタンスの実行ステータス情報も視覚的に表示します。これら 2 つのツールは現在ほとんど更新されていませんが、独自の Redis 監視ツールを開発したい場合には良い参考になります。
Redis の実行ステータスの監視に加えて、もう 1 つの一般的な運用および保守タスクはデータ移行です。次に、データ移行ツールについて学びましょう。
データ移行ツール Redis-shake
異なるインスタンス間でデータを移行する必要がある場合があります。現在、より一般的に使用されているデータ移行ツールの 1 つは Redis-shake です。これは、Alibaba Cloud Redis チームと MongoDB チームによって Redis データ同期のために開発されたツールです。
Redis-shake の基本的な動作原理は、まず Redis インスタンスをシミュレートする Redis-shake プロセスを開始することです。次に、Redis-shake プロセスとデータの移行元のソース インスタンスが完全なデータ同期を実行します。
このプロセスは、Redis マスター/スレーブ インスタンスの完全同期に似ています。
ソース インスタンスはメイン データベースに相当し、Redis-shake はスレーブ データベースに相当します。ソース インスタンスはまず RDB ファイルを Redis-shake に転送し、Redis-shake は RDB ファイルを宛先インスタンス。次に、ソース インスタンスは増分コマンドを Redis-shake に送信し、Redis-shake はこれらの増分コマンドを宛先インスタンスに同期する役割を果たします。
次の図は、Redis-shake のデータ移行プロセスを示しています。
Redis-shake の大きな利点の 1 つは、次のサポートをサポートしていることです。複数のタイプの移行。
まず、単一インスタンス間のデータ移行とクラスター間のデータ移行をサポートします。
2 番目に 、一部の Redis スライシング クラスター (Codis など) はプロキシを使用してリクエスト操作を受信します。また、Redis-shake はプロキシを使用したデータ移行もサポートしています。
さらに、Redis-shakeはAlibaba Cloudチームによって開発されているため、オープンソースのRedisバージョンのサポートに加えて、Redis-shakeはクラウド上のRedisインスタンスとクラウド上のRedisもサポートします。インスタンスを移行することは、Redis サービスをクラウドに移行するという目標を達成するのに役立ちます。
データ移行後、通常、移行元インスタンスと移行先インスタンスのデータに一貫性があるかどうかを比較する必要があります。矛盾したデータがある場合は、それらを見つけて宛先インスタンスから削除するか、矛盾したデータを再度移行する必要があります。
ここでは、Alibaba Cloud チームが開発した別のデータ整合性比較ツール Redis-full-check を紹介します。
Redis-full-check の動作原理は非常にシンプルで、ソース インスタンスと宛先インスタンスのデータを完全に比較してデータ検証を完了することです。ただし、データ検証の比較オーバーヘッドを軽減するために、Redis-full-check は複数ラウンドの比較方法を使用します。
検証の最初のラウンドでは、Redis-full-check はソース インスタンス上のすべてのキーを検索し、比較のためにソース インスタンスと宛先インスタンスから対応する値を見つけます。最初の比較後、redis-full-check はソース インスタンスと矛盾する宛先インスタンスのデータを sqlite データベースに記録します。
検証の 2 ラウンド目以降、Redis-full-check は、前のラウンドの終了後にデータベースに記録された一貫性のないデータのみを比較します。
インスタンスの通常のリクエスト処理への影響を避けるため、Redis-full-check は比較の各ラウンド後に一定期間一時停止します。 Redis-shake の増分同期が進むにつれて、ソース インスタンスと宛先インスタンスの不一致データは徐々に減少するため、何度も検証や比較を行う必要はありません。
比較のラウンド数を自分で設定できます。具体的な方法は、redis-full-check コマンドの実行時に比較するラウンド数にパラメーター Comparetimes の値を設定することです。
すべての比較ラウンドが完了すると、データベースに記録されたデータが、ソース インスタンスと宛先インスタンスの間の最終的な差分の結果になります。
ここで注意すべき点があり、Redis-full-check には 3 つの比較モードがあり、comparemode パラメーターで設定できます。 Comparemode パラメータには 3 つの値があり、次の意味を持ちます:
- KeyOutline、キーの値が等しいかどうかのみを比較します;
- ValueOutline、値の長さが等しいかどうかのみを比較します値が等しい;
- FullValue、キー値、値の長さ、および値の値を比較して、それらが等しいかどうかを確認します。
Redis-full-check を適用すると、データ整合性のビジネス要件に応じて、対応する比較モードを選択できます。一貫性の要件が高い場合は、comparemode パラメータを FullValue に設定します。
さて、最後にRedisクラスターの運用保守管理ツールであるCacheCloudを紹介します。
クラスター管理ツール CacheCloud
CacheCloud は Sohu が開発した Redis 運用保守管理用のクラウド プラットフォームであり、 マスター/スレーブ クラスター、センチネル クラスター、Redis クラスターを実装しています。自動展開と管理、ユーザーはプラットフォームの管理インターフェイスで直接操作できます。
一般的なクラスターの運用および保守要件について、CacheCloud は 5 つの運用および保守操作を提供します。
- オフライン インスタンス: インスタンスおよびインスタンス関連の監視タスクを閉じます。
- オンライン インスタンス: オフライン インスタンスを再起動して監視します。
- スレーブ ノードの追加: マスター/スレーブ クラスター内のマスター ノードにスレーブ ノードを追加します。
- フェイルオーバー: Redis Cluster マスター ノードとスレーブ ノードのフェイルオーバーを手動で完了します。
- 構成管理: ユーザーが構成変更の作業指示書を送信すると、管理者はそれを確認して構成変更を完了します。
CacheCloud は、運用保守管理プラットフォームとして、運用保守業務だけでなく、豊富な監視情報も提供します。
CacheCloud は、INFO コマンドによって提供されるインスタンスのリアルタイムの実行ステータス情報を収集して視覚的に表示するだけでなく、メモリ使用量、クライアント接続数などのインスタンスの実行ステータス情報も保存します。 、およびキーと値のペアのデータ量。これにより、Redisの運用に問題が発生した場合、運用保守担当者は保存されている履歴を照会し、その時点の稼働状況情報に基づいて分析を行うことができます。
Redis インスタンス管理に関連するタスクを一元的にホストする統合プラットフォームが必要な場合、CacheCloud は優れたツールです。
概要
このレッスンでは、いくつかの Redis 運用およびメンテナンス ツールを紹介しました。
Redis の INFO コマンドについて初めて知りましたが、このコマンドは監視ツールの基本であり、監視ツールは INFO コマンドで得られた情報をもとに二次的な処理を行います。また、Redis の実行状況をリアルタイムで監視するための 3 つの運用保守ツール、Redis-exporter、redis-stat、Redis Live についても学習しました。
データ移行に関しては、Redis-shake ツールを使用するか、RDB ファイルまたは AOF ファイルを介して移行できます。
Redis を運用および保守する場合、今述べた多くのオープンソース ツールはすでに多くのニーズを満たすことができます。ただし、業種ごとにRedisの運用・保守要件が異なる場合があり、既製のオープンソースツールをそのまま利用するだけではすべてのニーズに対応できない場合がありますので、その場合は二次開発や自社調査を行うことをお勧めします。オープンソース ツールに基づいているため、ビジネス用途のニーズをより適切に満たすことができます。
プログラミング関連の知識について詳しくは、プログラミング入門をご覧ください。 !
以上がいくつかの便利な Redis 運用およびメンテナンス ツールを共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

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

Redisは、次のようなさまざまなデータ構造をサポートしています。1。文字列、単一価値データの保存に適しています。 2。キューやスタックに適したリスト。 3.非重複データの保存に使用されるセット。 4。ランキングリストと優先キューに適した注文セット。 5。オブジェクトまたは構造化されたデータの保存に適したハッシュテーブル。

Redisカウンターは、Redisキー価値ペアストレージを使用して、カウンターキーの作成、カウントの増加、カウントの減少、カウントのリセット、およびカウントの取得など、カウント操作を実装するメカニズムです。 Redisカウンターの利点には、高速速度、高い並行性、耐久性、シンプルさと使いやすさが含まれます。ユーザーアクセスカウント、リアルタイムメトリック追跡、ゲームのスコアとランキング、注文処理などのシナリオで使用できます。

Redisコマンドラインツール(Redis-Cli)を使用して、次の手順を使用してRedisを管理および操作します。サーバーに接続し、アドレスとポートを指定します。コマンド名とパラメーターを使用して、コマンドをサーバーに送信します。ヘルプコマンドを使用して、特定のコマンドのヘルプ情報を表示します。 QUITコマンドを使用して、コマンドラインツールを終了します。

Redisクラスターモードは、シャードを介してRedisインスタンスを複数のサーバーに展開し、スケーラビリティと可用性を向上させます。構造の手順は次のとおりです。異なるポートで奇妙なRedisインスタンスを作成します。 3つのセンチネルインスタンスを作成し、Redisインスタンスを監視し、フェールオーバーを監視します。 Sentinel構成ファイルを構成し、Redisインスタンス情報とフェールオーバー設定の監視を追加します。 Redisインスタンス構成ファイルを構成し、クラスターモードを有効にし、クラスター情報ファイルパスを指定します。各Redisインスタンスの情報を含むnodes.confファイルを作成します。クラスターを起動し、CREATEコマンドを実行してクラスターを作成し、レプリカの数を指定します。クラスターにログインしてクラスター情報コマンドを実行して、クラスターステータスを確認します。作る

Redisのキューを読むには、キュー名を取得し、LPOPコマンドを使用して要素を読み、空のキューを処理する必要があります。特定の手順は次のとおりです。キュー名を取得します:「キュー:キュー」などの「キュー:」のプレフィックスで名前を付けます。 LPOPコマンドを使用します。キューのヘッドから要素を排出し、LPOP Queue:My-Queueなどの値を返します。空のキューの処理:キューが空の場合、LPOPはnilを返し、要素を読む前にキューが存在するかどうかを確認できます。

RedisクラスターでのZsetの使用:Zsetは、要素をスコアに関連付ける順序付けられたコレクションです。シャード戦略:a。ハッシュシャーディング:ZSTキーに従ってハッシュ値を分配します。 b。範囲シャード:要素スコアに従って範囲に分割し、各範囲を異なるノードに割り当てます。操作の読み取りと書き込み:a。読み取り操作:ZSetキーが現在のノードのシャードに属している場合、ローカルで処理されます。それ以外の場合は、対応するシャードにルーティングされます。 b。書き込み操作:Zsetキーを保持しているシャードに常にルーティングされます。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

メモ帳++7.3.1
使いやすく無料のコードエディター

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

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

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