Redis を上手に使用するには、API の使用方法を知るだけでなく、Redis のブロックを防ぐ方法、ブロックを確認および分析する方法も知る必要があります。今日は、Redis のブロックを検出する方法、つまり、遅いクエリを通じてブロックされたコマンドを見つける方法について説明しましょう。
Mysql と同様、Redis にも低速クエリ レコードがあります。コマンドの実行時間が設定値を超えた場合、コマンドはスロークエリリストに記録されます。クエリが遅いと、プログラムを改善できます。 Redis がブロックされるのを防ぎます。
構成
スロー クエリには 2 つの構成パラメータがあります:
slowlog-log- thrower-than
slowlog-max-len
slowlog-log-slower-than は、しきい値をマイクロ秒単位で設定するために使用されます。値は 10000、つまり 10 ミリ秒です。
値が 0 未満に設定されている場合、コマンドは記録されません。
#値が 0 に等しい場合、すべてのコマンドが記録されます。が記録されます。
slowlog-max-len はレコードの最大数を示します。デフォルトは 128 です。たとえば、11 番目の低速クエリが挿入されると、10 に設定されます。列の先頭は列から外れます。
これら 2 つの構成は動的構成もサポートしています。プロジェクトが開始されたばかりで、アクセス数がそれほど多くない場合は、slow-log-slower-than の値を大きく設定できます。訪問数が増えると、その値をより小さい値に変更する必要がある場合があります。ただし、redis サービスを停止したくないので、構成を動的に変更できます。
127.0.0.1:6379> config set slowlog-log-slower-than 1000 OK # 在线修改配置 127.0.0.1:6379> config rewrite OK # 将修改的配置持久化到配置文件中
運用とメンテナンスの提案: アクセス数が多い場合は、通常、slowlog-log-slower-than を 1000 以下に設定することをお勧めします。この値が 1000 の場合、redis は最大 1000 の同時 をサポートできることを意味します。
スロー クエリ ビュー
redis のスロー クエリ ビューは、mysql のビューとは異なり、redis ビューには特別なコマンドがあります。
スロー クエリ ログの取得
slowlog get [n]、n はエントリ数を表し、デフォルトは 10
127.0.0.1:6379> slowlog get 1) 1) (integer) 18004 2) (integer) 1589424642 3) (integer) 50 4) 1) "slowlog" 2) "get" 5) "127.0.0.1:58364" 6) "" 2) 1) (integer) 18003 2) (integer) 1589423805 3) (integer) 47 4) 1) "slowlog" 2) "get" 5) "127.0.0.1:58364" 6) "" ……
最初のパラメータはログ ID 番号です。
2 番目のパラメータは発生タイムスタンプです。
3 番目のパラメータは、ログ ID 番号です。はコマンドの実行時間 (マイクロ秒)
最後のものはコマンドとパラメータです。
#遅いクエリの長さを取得する
slowlog len127.0.0.1:6379> slowlog len (integer) 128
スロー クエリ リストをクリアします
127.0.0.1:6379> slowlog reset OK
スロー クエリ ログを mysql に保存します
redis の長さは制限されているため、遅いクエリが多数ある場合、損失が発生します。定期的に Redis にアクセスしてスロークエリレコードリストを取得し、それを mysql に永続化することで、このような事態が起こらないようにすることができます。 疑似コードは次のとおりです:while (true) { $slowlen = $redis->slowlog('len'); $slowlogs = $redis->slowlog('get',$slowlen); $insSql = "INSERT INTO slowlog(exec_time,run_time,command) VALUES"; if (is_array($slowlogs) && count($slowlogs)) { foreach ($slowlogs as $slowlog) { $execTime = $slowlog[2]; $runTime = $slowlog[1]; $command = implode(' ', $slowlog[3]); $insSql .= "('$execTime', '$runTime','$command'),"; } $flag = mysqli_query($mysqli, substr($insSql, 0, -1)); if ($flag) { $redis->slowlog('reset'); } } unsleep(10000); }上記のコードは、MYSQL への遅いクエリの永続化を実現できます。
以上がRedis の運用とメンテナンスの低速クエリ ログの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Redisは、高性能と柔軟性のためにSQLデータベースを超えています。 1)Redisは、メモリストレージを介して非常に速い読み取りおよび書き込み速度を実現します。 2)複雑なデータ処理に適したリストやコレクションなど、さまざまなデータ構造をサポートしています。 3)シングルスレッドモデルは開発を簡素化しますが、高い並行性はボトルネックになる可能性があります。

Redisは、並行性が高く、遅延の低いシナリオの従来のデータベースよりも優れていますが、複雑なクエリやトランザクション処理には適していません。 1.Redisは、メモリストレージ、高速読み取り速度、および高い並行性と低遅延の要件に適しています。 2.従来のデータベースは、ディスクに基づいており、複雑なクエリとトランザクション処理をサポートし、データの一貫性と永続性が強い。 3. Redisは、従来のデータベースのサプリメントまたは代替品として適していますが、特定のビジネスニーズに応じて選択する必要があります。

redisisahigh-performancein-memorydatastructurturturestorettorethatedcelsinsinsinsversility.1)itsupportsvariousdatastructureslikestrings、lists、andsets.2)redisisaninmorydatabasewithpersistenceoptions、daturing datasafety.3)

Redisは主にデータベースですが、単なるデータベース以上のものです。 1.データベースとして、Redisは持続性をサポートし、高性能のニーズに適しています。 2。キャッシュとして、Redisはアプリケーションの応答速度を改善します。 3。メッセージブローカーとして、Redisはリアルタイム通信に適したPublish-Subscribeモードをサポートしています。

redisisamultifaCetedTooltoToolvesSasadatabase、server、andmore。

Redisisanopen-Source、In-MemoryDatastructurestoreStoreSadatabase、Cache、AndmessageBroker、ExcellingInspeedandversatility.ItisisWidely-susederCaching、Real-Timeanalytics、Session Management、AndleaderboardsdueTotutsuptorututrututrututruturturturturturturesturesaddataacys

Redisは、データベース、キャッシュ、メッセージブローカーとして使用されるオープンソースメモリデータ構造ストレージであり、高速応答と高い並行性が必要なシナリオに適しています。 1.Redisはメモリを使用してデータを保存し、マイクロ秒の読み取り速度と書き込み速度を提供します。 2.文字列、リスト、コレクションなどのさまざまなデータ構造をサポートします。3。Redisは、RDBおよびAOFメカニズムを介してデータの持続性を実現します。 4.シングルスレッドモデルと多重化テクノロジーを使用して、リクエストを効率的に処理します。 5.パフォーマンス最適化戦略には、LRUアルゴリズムとクラスターモードが含まれます。

Redisの関数には、主にキャッシュ、セッション管理、その他の機能が含まれます。1)キャッシュ関数はメモリを介してデータを保存して読み取り速度を向上させ、eコマースWebサイトなどの高周波アクセスシナリオに適しています。 2)セッション管理関数は、分散システムでセッションデータを共有し、有効期限のあるメカニズムを通じて自動的にクレンジングします。 3)リアルタイムメッセージプッシュおよびマルチスレッドシステムおよびその他のシナリオに適した、パブリッシュサブスクライブモード、分散ロック、カウンターなどのその他の機能。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター
