redis のロック分類
redis で使用できるロック コマンドは、INCR、SETNX、SET
最初のロック コマンド INCR
この種のロックの考え方は、キーが存在しない場合、最初にキーの値が 0 に初期化されるというものです。 、その後 INCR 操作が実行されます。プラス 1。
その後、他のユーザーが INCR 操作を実行して 1 を追加したときに、返された数値が 1 より大きい場合、ロックが使用されていることを意味します。
1、 客户端A请求服务器获取key的值为1表示获取了锁 2、 客户端B也去请求服务器获取key的值为2表示获取锁失败 3、 客户端A执行代码完成,删除锁 4、 客户端B在等待一段时间后在去请求的时候获取key的值为1表示获取锁成功 5、 客户端B执行代码完成,删除锁 $redis->incr($key); $redis->expire($key, $ttl); //设置生成时间为1秒
2 番目のタイプのロック SETNX
このロックの背後にある考え方は、キーが存在しない場合、キーを値
に設定するというものです。キーがすでに存在する場合、SETNX は何もアクションを実行しません
1、 客户端A请求服务器设置key的值,如果设置成功就表示加锁成功 2、 客户端B也去请求服务器设置key的值,如果返回失败,那么就代表加锁失败 3、 客户端A执行代码完成,删除锁 4、 客户端B在等待一段时间后在去请求设置key的值,设置成功 5、 客户端B执行代码完成,删除锁 $redis->setNX($key, $value); $redis->expire($key, $ttl);
3 番目のロック SET
上記の 2 つの方法には問題があります。が見つかります。すべてキーの有効期限を設定する必要があります。では、なぜキーの有効期限を設定する必要があるのでしょうか?リクエストの実行が何らかの理由で予期せず終了し、ロックが作成されても削除されなかった場合、ロックは常に存在するため、今後キャッシュが更新されることはありません。したがって、予期しないイベントを防ぐためにロックに有効期限を追加する必要があります。
ただし、Expire を使用して設定することはアトミックな操作ではありません。したがって、トランザクションを通じてアトミック性も確保できるが、まだいくつか問題があるため、公式は別の課題を挙げ、バージョン2.6.12からはSETコマンド自体に有効期限を設定する機能を追加したとしている。
rree以上がRedis には何種類のロックがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Redisバージョン番号を表示できるコマンドは次のとおりです。情報info infoecho echo versionclientリストとConnected_since値を計算します(Redisサーバーの実行にのみ適用可能)

Redisバージョンを表示する方法は?手順は次のとおりです。Redisクライアントを起動し、情報コマンドを実行してRedis_versionフィールドを見つけます。その値はRedisバージョン番号です。

Redisバージョン番号を表示する方法には、次のものが含まれます。コマンドラインツールの使用Redis-Cli、Redis Infoコマンド、Redis Manager、および環境変数が使用されます。 Redis-Cli-バージョンはローカルおよびリモートインスタンスに適していますが、Redis-Cli情報| Grep Redis_versionは、より多くの情報を提供しますが、ローカルインスタンスのみを提供します。 Redis Managerはグラフィカルインターフェイスを提供しますが、サードパーティのツールが必要です。環境変数エコー$ redis_versionは、Dockerなどの特定の環境で役立ちます。

Redisバージョンの数値を理解することは、互換性、セキュリティ、パフォーマンスの最適化、バグ修正、およびドキュメントに関連しているため、重要です。アプリケーションがRedisバージョンと互換性があることを確認してください。セキュリティの脆弱性を特定して解決します。アプリケーションのパフォーマンスを最適化し、新しい最適化を活用します。バグ修正を取得して、アプリケーションの安定性を向上させます。情報の特定のバージョンとサポートリソースにアクセスします。

Redisバージョンの互換性とは、異なるバージョン間で通信する機能を指します。互換性は次のレベルに分けられます。後方互換性:新しいサーバーは、古いクライアントコマンドを処理できます。上向きの互換性:古いクライアントは新しいサーバーに接続できますが、新しい機能を使用できない場合があります。完全に互換性:異なるバージョンでの無制限のインタラクション。互換性は、プロトコルの変更、データ構造の変更、および追加された新機能の影響を受けます。互換性の問題は、統合バージョン、テスト、および互換性ライブラリを使用して回避できます。

Redisですべてのキーを表示する方法は、次のものがあります。キー名とKeysコマンドを一致させます。スキャンコマンドですべてのキーを反復します。ダンプおよび復元コマンドでキー値をダンプして復元します。 RedisInsightツールを使用してキーを閲覧します。 Cluster KeySlotおよびCluster getKeySinslotコマンドをRedisクラスターに使用します。 LUAスクリプトを使用して、すべてのキーを含むテーブルを生成します。

Redis's Keysコマンドは、すべてのキーを表示するために使用できます。コマンド構文:キーパターンコマンドパラメーター:パターン *(任意の文字)などのキーを検索するときに使用できるワイルドカードパターンを指定します。 (単一文字)。結果:パターンに一致するすべてのキーのリストを返します。例:キー *はすべてのキーを返します。ヒント:空のモード「*」を使用してすべてのキーを表示するか、可変長ワイルドカード "を使用して、「任意の数の文字に一致させることができます。複雑さ:o(n)、ここで、nはデータベース内のキーの数です。

Redis Keysコマンドは、指定されたパターンに一致するすべてのキーを見つけ、ワイルドカードを使用して一致させます。このコマンドは、一致するキー名を含む配列を返します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

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

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

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

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

ホットトピック



