サーバーのデータベースの実装をRedisの -
redisServer起動時のデフォルトの起動16のデータベースで、各redisClient DBは、独自のリンクをデシベル切り替えることができますプロパティredisClientデシベルの、クライアントに記録されている独自の接続を持っています。
当然のことながら、実際には、それぞれがDIC辞書DB保存されたキーと値を持って、私たちのセットは、値の内側に、削除、更新の共感を設定するための鍵でもあります。以下に示すように、キーへのアクセスは、LRUダーティ更新情報の値を保持したときに
このようFLUSHDBコマンドと他のコマンドは、実際には、辞書の内容を削除します。
期限切れのメカニズム
でデシベルあります*有効期限が切れるdictの属性がPEXPIREATコマンドで設定できるキーの有効期限の時間を節約するために使用されているが、明確に存続します。
それでは、どのよう期限切れのキーを削除する必要がありますか?
従来の3つの削除ポリシーがありますが、(この期限が決まっていない)、定期的に削除、(CPUを占有)、不活性パージ(メモリの無駄を)クリアするタイミング。不活性のRedisの使用は、定期的に2つの戦略を削除し、削除します。
削除不活性:
各訪問の前に期限が切れ、その後、それを削除し、ない何もしない期限切れ、期限が切れていないを見てみましょう。
定期的に削除します。
Redis.cファイルはdatabasesCronが毎回一定の戦略に合わせて)この機能(一部のキーデータベースのいくつかのランダムなチェックを定期的に削除期限切れのactiveExpireCycleを呼び出すserverCron機能、毎秒のコールserver.hz時間、いくつかの定期的なタスクを実行し、持っていますオペレーティング
また、それに対処する方法でAOF、RDBキーの有効期限が切れ?
期限切れのキーはRDBを生成するときに、メインライブラリがロードされている場合、ロードされているライブラリからロードされた場合は、RDBファイルの読み込みには、期限切れのキーを除外する除外されているが、主は時刻同期から削除されます。、
鍵を生成すると書き換え、DELコマンドを失効するときに生成AOFは、期限切れの鍵を書き換えるための時間ではありません。
主は、唯一のコマンドを受信した場合にのみ、サーバーから削除するには、キーコマンドを期限切れすべてのサーバーに時刻同期を送信し、プライマリサーバから削除されるキーの有効期限が切れている場合ので、からそれを得るために、ライブラリにアクセスできる可能性があります。値。
データベースを達成するための通知機能を送ります
この機能は、ユーザーが特定の通知のタイプ、または一部またはすべてのキー操作を購読することができます。