ホームページ  >  記事  >  データベース  >  redisの有効期限はどこで設定されているのでしょうか?

redisの有効期限はどこで設定されているのでしょうか?

(*-*)浩
(*-*)浩オリジナル
2019-11-30 10:18:467265ブラウズ

この記事では、誰もが基本を理解できるように、redis の有効期限処理メカニズムの概要を説明します。

redisの有効期限はどこで設定されているのでしょうか?

#Redis には有効期限を設定する機能があります。つまり、Redis データベースに保存されている値の有効期限を設定できます。キャッシュ データベースとして、これは非常に実用的です。

たとえば、一般的なプロジェクトにおけるトークンや一部のログイン情報、特に SMS 認証コードには期限があり、従来のデータベース処理方法では、有効期限を自分で判断するのが一般的であり、間違いなく重大な影響を及ぼします。プロジェクトのパフォーマンス。 (推奨学習: Redis ビデオ チュートリアル )

1. 有効時間設定:

Redis の保存された値の有効期限処理実際には値のキーに対して処理されます。つまり、時間の設定はキー設定の有効時間でもあります。 Expires ディクショナリには、すべてのキーの有効期限が保存されます。Expires は、有効期限フィールドとも呼ばれます。

4 つの処理戦略

EXPIRE キーの生存時間を ttl 秒に設定します

PEXPIRE キーの生成時間を ttl ミリ秒に設定します

EXPIREAT キーの有効期限を timestamp で表される秒数のタイムスタンプに設定します

PEXPIREAT キーの有効期限を timestamp で表されるミリ秒数のタイムスタンプに設定します

実は上記の処理方法は全てPEXPIREATをベースに実装されており、生存時間を設定する際にはredisが内部で時間を計算してメモリ上で処理し、最終的な処理はPEXPIREATになります。

2 つの方法 1 と 2 は、検証コードを処理するために最も一般的に使用される有効期限を設定するもので、3 分または 5 分後に期限切れになるように設定し、分を秒または秒に変換します。ミリ秒を取得し、redis の中間に保存します。

3と4の2つの方法は有効期限を指定する方法で、例えばクーポンの有効期限は、ある年の、ある月の、ある日ということになりますが、単位が異なります。

2. 期限切れ処理

期限切れキーの処理とは、期限切れのキーを削除することであり、ここでの操作は主に期限切れフィールドの処理です。

Redis には、スケジュールされた削除、遅延削除、定期的な削除という 3 つの処理戦略があります。

時間指定削除: キーの有効期限を設定するときにタイマーを作成し、有効期限に達するとすぐに削除操作を実行します。ただし、この処理方法は瞬間的なもので、時間内に期限切れのキーがいくつあっても、現在のサーバーの稼働状況に関係なく、すぐに実行されてしまうため、CPUにとってはあまり優しくありません。

遅延削除: 遅延削除戦略では、キーの有効期限が切れてもすぐには削除されませんが、外部命令がキーを取得したときに積極的に削除されます。処理プロセスは、get の実行を受け取り、期限切れかどうかを判断し (ここでは期限切れで判断します)、削除操作を実行し、nil (空) を返します。

定期削除: 定期削除とは、一定の時間間隔を設定して、期限切れのキーの有無を検出し、期限切れのキーがある場合は削除操作を実行します。この概念は理解しやすいはずです。

Redis 関連の技術記事の詳細については、Redis 入門チュートリアル 列にアクセスして学習してください。

以上がredisの有効期限はどこで設定されているのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。