Redis のインタビューの質問 2

Redis は期限切れの要素をどのように処理しますか

一般的な有効期限戦略

スケジュールされた削除: 各キー値にスケジュールされた削除イベントを設定します。たとえば、キー値が今日の 5:00 に期限切れになる場合、5:00 に実行されるようにイベントを設定し、そのデータを削除します (利点:メモリ無効データを使用して時間内にクリアされました

短所: データ量が大きい場合、redis はビジネスを実行しているため、多くの redis リソースを浪費しますが、ここでは削除が行われ、redis 自体がシングルスレッドであるため、redis のパフォーマンスに大きな影響を与えます)

遅延削除: ユーザーがキー値にアクセスすると、キー値の有効期限が切れているかどうかを確認し、期限切れの場合は削除し、期限切れでない場合は直接返します (利点: Redis のパフォーマンスをあまり消費しません。トリガーされると、常にメモリを占有します)

定期的な削除: Redis を効率的に実行し、無効な情報を削除できるようにするために、定期的に削除する必要があります (以下に示すように)。

Redis は、遅延削除 + 定期削除の戦略を使用して削除します。

Redis はどのようにして大量のデータ内のキーをクエリするのか

スキャンを使用する

Redis はどのように近くの人々にクエリを実行するのか

Redisで位置情報を操作する方法:redis3.2 geo typeを使用する

基礎となる実装構造: zset 順序付きコレクション

Redis のバージョンは 3.2 以降なので、クエリを実行するときにクエリから自分自身を除外する必要があります。

おすすめ

転載: blog.csdn.net/bubbleJessica/article/details/132600816