❝この記事の知識ポイント 期限切れデータの概念 データ削除ポリシー 立ち退きアルゴリズム
❞
❝##Kaka はインタビュー ガイドを作成するためのロードマップを作成し、そのロードマップに基づいて記事を書く準備をしましたが、後になって、補足されていない知識ポイントを追加していることに気づきました。また、パートナーの皆様にも情報の追加にご協力いただけることを楽しみにしております。コメントセクションでお会いしましょう!##❞
これら 3 つの値を設定する手順は、set name kaka setex age 100 24 setex sex 10 1
Redis では、ttl を使用して特定のキーを取得できます。ステータス、ttl
を使用して、名前、年齢、性別のステータスをそれぞれ取得しましょう。
3 つの値が表示されます。-1 775 -2
Soこれら 3 つの値によって得られる情報とは何でしょうか。
setex age 1000 24
残りの有効期限として表されます利点: キーは期限切れになると削除されると考えられます。間違いなく最もメモリに優しく、メモリを節約します
欠点: redis のシングルスレッド機能は、すべてのコマンドが特定の順序で実行されることです。有効期限が切れたときにキー値を削除すると、CPU への負担が大きくなり、Redis サーバーの応答時間と IO に直接影響します
スケジュールされた削除は、スペースと引き換えに時間を使用することを意味します
スケジュールされた削除が完了すると、キー値に対応するデータが削除され、有効期限が切れたメモリ領域も直接削除されます。
この図を見ると、キー値の有効期限が切れても、削除されません。直接削除されます。いつ削除されますか?続きを読む
遅延削除を使用すると、データの有効期限が切れても自動的に削除されず、次回キー値を取得したときに判断して削除する方法となります。キーの有効期限が切れているため、有効期限が切れた場合は削除します。
つまり、再度 get name を実行すると、関数が実行されます。 expirelfNeeded()
この関数は、キーの有効期限が切れているかどうかを判断する関数です。有効期限が切れたら nil を返し、メモリから削除します。
利点: CPU パフォーマンスが一定量低下し、削除する必要がある場合にのみ削除されます
欠点:確かにその通りです ホットニュースなどメモリプレッシャーが高いです ホットスポットを過ぎるとほとんど誰もアクセスしなくなります 誰もアクセスしなければキーは常に存在し、一定量を占有しますつまり、この方法は、空間を時間と交換するというものです。
まず、redis のストレージ容量を見てみましょう。デフォルトでは 16 個あります。redis.conf には、このパラメータによって制御される構成パラメータ データベースがあります。各データベースには独自の有効期限パーティションがあり、データ アドレスとデータ有効期限時刻が保存されます。
実装方法
redis が起動すると、サーバーの hz 値が読み取られます。デフォルトは 10 です。この値は、info server
を使用して端末上で直接表示でき、その後、サーバーは、serverCron() ポーリングのために 1 秒あたり Hz 回実行されます。引き続き、databasesCron を使用して、16 個の Redis ライブラリの情報に 1 つずつアクセスします。
アクセス時に、activeExpireCycel が実行され、各有効期限[*]を 1 つずつ検出します。各実行時間は 250ms/サーバーです。 hz パラメータ
expirs[*] を 1 つずつ検出すると、ACTIVE_EXPIRE_CYCLE_SLOW_TIME_PERC がランダムに選択されて検出されます
##キーがタイムアウトした場合は、キーを直接削除しますエビクション アルゴリズム
Redis が使用するメモリが不十分なため、エビクション ポリシーを使用して Redis が通常どおり使用できるようにします。
Redis は、各コマンドが実行される前に freeMemorylfNeeded() を呼び出してメモリが十分であるかどうかを確認します。メモリが不足している場合は、いくつかのキーがクリアされます。このデータ消去戦略はエビクション戦略と呼ばれます。
redis の最大使用可能メモリのパラメータは: maxmemory です。デフォルトは 0 です。これは占有される物理メモリの割合を指します。通常は 50% に設定するだけで十分です。
毎回削除するキーの数を選択します: maxmemory-samples
削除ポリシー: maxmemory-policy
「削除戦略に焦点を当てましょう」
❝
学習の継続、ブログの継続、共有の継続は、カカがそのキャリア以来常に支持してきた信念です。巨大なインターネット上のカカの記事がそうであることを願っています。助けてください。次号でお会いしましょう。
❞
推奨事項: "redis チュートリアル
"
以上がRedis の削除ポリシーとエビクション ポリシーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。