Redisの主要なリソース占有率の視覚的分析

RedisKeyリソース占有率の視覚的分析RedisKeyリソース占有率の視覚的分析
日常の開発では、Redisは多数のキーを蓄積し、多くのメモリスペースを占有します。現在のRedisにあるキーの数と、どのキーが最も多くのメモリを占有しているかを知りたい場合があります。

ただし、データベースRedisはシングルスレッドであるため、オンライン環境ではこのようなキーの使用が完全に禁止されています*コマンド。すべてのキーをスキャンするのに時間がかかるため、Redisの処理中にスタックし、他の読み取りおよび書き込み操作を処理できなくなります。

では、現在キーがいくつあるかをどのように知る必要がありますか?スキャンコマンドを使用できると言う学生もいます。ただし、このコマンドでは、反復するプログラムを作成する必要があり、その結果、結果が不正確になる可能性があります。

また、info keyspaceコマンドを使用できると言う学生もいます。実行中の効果は、次の図のようになります。

RedisKeyリソース占有率の視覚的分析RedisKeyリソース占有率の視覚的分析

あなたは確かにいくつのキーがあるかを見ることができます。しかし、もう1つの質問は、どのキーが最もメモリスペースを占有しているかをどうやって知るのかということです。

場合によっては、Redisに数万のキーがあり、そのうちのいくつかは削除できます。ただし、keysコマンドを使用して現在使用可能なキーを確認することはできないため、削除できるこれらのキーがまだ存在するかどうかはわかりません。

実際、これらの問題はRDR [1]と呼ばれるツールを使用して解決できます。RDRのGithubには、対応するシステムの実行可能ファイルがあります。 例としてLinuxバージョンを取り上げましょう Linuxバージョンの実行可能ファイルアドレスは次のとおりです。https://github.com/xueqiu/rdr/releases/download/v0.0.1/rdr-linuxダウンロード後、実行可能権限を付与します。

CD〜
wgetのhttps://github.com/xueqiu/rdr/releases/download/v0.0.1/rdr-linux
ます。chmod + xのRDR-linuxの

次に、dump.rdbファイルを見つける必要があります。

Redisは、デフォルトでRDBモードで永続ストレージを有効にします。特定の条件が満たされると、Redisはメモリ内のデータをハードディスクに保存して、突然の停電によるデータの損失を防ぎます。デフォルトでは、RDBファイルは/var/lib/redis/dump.rdbにあり、このファイルはrootユーザーのみが読み取ることができます。

rootユーザーでない場合は、それをコピーして現在のユーザーに変更できます。私のLinuxシステムの現在のユーザー名はkingnameと呼ばれ、ユーザーグループはkingnameとも呼ばれるため、次のシェル コマンドを実行でき ます。

CD〜
sudoのcpは/var/lib/redis/dump.rdb ./ 
sudoをchownをkingname:kinganme dump.rdb

ユーザーを変更した後、RDRにこのRDBファイルを読み取らせます。

./rdr-linux show -p 8766 dump.rdb 

ランニング効果を下図に示します。

RedisKeyリソース占有率の視覚的分析RedisKeyリソース占有率の視覚的分析

ここで、ブラウザを開いてhttp:// IP:8766を開くと、現在のRedisの各キーの統計を確認できます。

RedisKeyリソース占有率の視覚的分析RedisKeyリソース占有率の視覚的分析

Redisが持っているキーを確認できるだけでなく、各キーに含まれる要素とサイズの数も確認できます。

また、分析されたRDBファイルであるため、オンラインデータへの影響を心配する必要はありません。

このツールを使用すると、最大のスペースを占めるキーを簡単に見つけることができます。

おすすめ

転載: blog.csdn.net/yaxuan88521/article/details/114819236