実装と期限切れのメカニズム(6)のRedisデータベース - 設計とRedisのの実装

サーバーのデータベースの実装を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は、期限切れの鍵を書き換えるための時間ではありません。

              主は、唯一のコマンドを受信した場合にのみ、サーバーから削除するには、キーコマンドを期限切れすべてのサーバーに時刻同期を送信し、プライマリサーバから削除されるキーの有効期限が切れている場合ので、からそれを得るために、ライブラリにアクセスできる可能性があります。値。

データベースを達成するための通知機能を送ります

       この機能は、ユーザーが特定の通知のタイプ、または一部またはすべてのキー操作を購読することができます。

 

公開された47元の記事 ウォンの賞賛8 ビュー30000 +

おすすめ

転載: blog.csdn.net/nanchengyu/article/details/89337965