Redis は、ネイティブの読み取り/書き込みロック メカニズムをサポートしていません。ソリューションには、サードパーティ ツール: RedLock または RwLock、カスタム ソリューション: トークン ベース: read_lock および write_lock キーの使用、および乱数を含むロック キーの使用が含まれます。
Redis 読み取り/書き込みロック: ソリューション
Redis はインメモリ データベースであり、ネイティブ読み取りをサポートしていません。 -書き込みロックメカニズム。したがって、読み取り/書き込みロック機能を実装するには、サードパーティのツールまたはカスタム ソリューションを使用する必要があります。
サードパーティ ツール
カスタム ソリューション
トークン メカニズムに基づく:
read_lock
と write_lock
。 read_lock
の値が増加します。 read_lock
の値が減ります。 write_lock
の値は 1 に設定されます。 write_lock
の値は 0 にリセットされます。 条件変数に基づいて:
lock
を設定します。その値はアトミックによって生成された乱数です。手術 。 lock
の値を独自の乱数と比較し、それらが等しい場合、読み取りロックが取得されます。 lock
の値がリセットされます。 lock
の値が更新されます。 lock
の値がリセットされます。 実装の詳細:
ソリューションの選択
適切なソリューションの選択は、特定のニーズによって異なります:
以上がRedisの読み取り/書き込みロックを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。