Redis メモリの監視と管理
Redis 内のすべてのデータはメモリに保存されるため、メモリの監視と管理は Redis にとって非常に重要です。メモリの監視、管理、最適化という 3 つの側面から Redis メモリについて説明しましょう。
メモリ監視
redis は、メモリ使用量を表示するための infomemory コマンドを提供します。このコマンドは大量のデータを表示します。ここでは、より重要なデータの一部のみを確認します。
used_memory:1146648 (redis アロケーターによって割り当てられたメモリの量)
-
used_memory_human:1.09M (読みやすい形式で表示)
used_memory_rss:4358144 (redis によって占有される合計メモリ)
used_memory_rss_human:4.16M (redis によって占有される合計メモリの読み取り可能な表示)
used_memory_peak:1229448 (userd_memory_peak ピーク)
used_memory_peak_human:1.17M
used_memory_overhead:857036 (バッファー、バックログ)など)
used_memory_startup:791384 (redis の起動によって消費されるメモリ)
used_memory_dataset:289612 (redis データによって占有されるメモリ)
used_memory_lua:37888 (lua スクリプトによって消費されるメモリ)
used_memory_lua_human:37.00K (読み取り可能な表示)
mem_fragmentation_ratio:4.02 (メモリ断片化率、used_memory_rss / used_memory)
mem_fragmentation_ratio が 1 より大きい場合、メモリ断片化があることを示します。値が低いほど、深刻な問題が発生します。断片化率。アプリケーションで許可されている場合は、redis を再起動して断片化率を減らすことができます。 0未満の場合はメモリ不足でスワップの一部が使用されていることを意味しますので注意が必要です。
メモリ管理
通常、redis のメモリ上限 maxmory を設定することをお勧めします。
方法は 2 つあります。変更するには
構成ファイルを変更します
- #動的設定
127.0.0.1:6379> config set maxmemory 1G OK 127.0.0.1:6379> config rewrite OK
- 最近最も使用されていない
- 最も使用頻度が低い ##すべてのリサイクル戦略とその意味を見てみましょう:
- noeviction: デフォルト ポリシー、キーは削除されません。最大メモリを超えると、書き込みコマンドはすべて拒否され、読み取りコマンドのみが応答します
- volatile-lru: lru アルゴリズムに従って期限切れのキーを削除します。削除できるキーがない場合は、noeviction 戦略に戻ります。
- allkeys-lru: キーの有効期限が切れているかどうかに関係なく、占有メモリが maxmeory 未満になるまで、lru アルゴリズムに従ってキーを削除します。
- allkeys-lfu: 上記と同じ意味ですが、削除には lfu アルゴリズムが使用されます。
- allkeys-random: 最大メモリに達したときにキーをランダムに削除します。
- volatile-ttl: 期限切れが近づいているキーを削除します。そうでない場合は、noeviction にフォールバックします。
メモリの最適化上記の Redis リサイクル戦略は、受動的削除戦略であり、アクティブに削除できます。 it 長期間アクセスされていないキー。 scan を使用してキーを走査し、オブジェクト ideltime を使用してキーのアイドル時間を表示し、長期間アクセスされていないキーを削除できます。
さらに、キーと値のオブジェクトを減らすことでメモリ使用量を削減することもできます。
127.0.0.1:6379> scan 0 1) "272" 2) 1) "story:course:3915" 2) "story:course:1681" 3) "story:course:4982" ……
たとえば、上記のキーを sy:cos:id に変更すると、キーの長さを短縮できます。 、値の場合、圧縮技術を使用して値の長さを短縮できます。 (圧縮すると CPU への負荷が増加するため、特定のアプリケーションに応じて適切に適用できます)
以上がRedis メモリの監視と管理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











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

Redisデータをクリアする方法:Flushallコマンドを使用して、すべての重要な値をクリアします。 FlushDBコマンドを使用して、現在選択されているデータベースのキー値をクリアします。 [選択]を使用してデータベースを切り替え、FlushDBを使用して複数のデータベースをクリアします。 DELコマンドを使用して、特定のキーを削除します。 Redis-CLIツールを使用してデータをクリアします。

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

Redis指令を使用するには、次の手順が必要です。Redisクライアントを開きます。コマンド(動詞キー値)を入力します。必要なパラメーターを提供します(指示ごとに異なります)。 Enterを押してコマンドを実行します。 Redisは、操作の結果を示す応答を返します(通常はOKまたは-ERR)。

Redisを使用して操作をロックするには、setnxコマンドを介してロックを取得し、有効期限を設定するために有効期限コマンドを使用する必要があります。特定の手順は次のとおりです。(1)SETNXコマンドを使用して、キー価値ペアを設定しようとします。 (2)expireコマンドを使用して、ロックの有効期限を設定します。 (3)Delコマンドを使用して、ロックが不要になったときにロックを削除します。

Redisソースコードを理解する最良の方法は、段階的に進むことです。Redisの基本に精通してください。開始点として特定のモジュールまたは機能を選択します。モジュールまたは機能のエントリポイントから始めて、行ごとにコードを表示します。関数コールチェーンを介してコードを表示します。 Redisが使用する基礎となるデータ構造に精通してください。 Redisが使用するアルゴリズムを特定します。

Centosシステムでは、Redis構成ファイルを変更するか、Redisコマンドを使用して悪意のあるスクリプトがあまりにも多くのリソースを消費しないようにすることにより、LUAスクリプトの実行時間を制限できます。方法1:Redis構成ファイルを変更し、Redis構成ファイルを見つけます:Redis構成ファイルは通常/etc/redis/redis.confにあります。構成ファイルの編集:テキストエディター(VIやNANOなど)を使用して構成ファイルを開きます:sudovi/etc/redis/redis.conf luaスクリプト実行時間制限を設定します。

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