Redisキャッシュの有効期限処理とメモリ除去メカニズム

1はじめに

コンピュータのメモリは限られています。コンピュータが大きいほど高価になります。Redisの高い同時実行性と高いパフォーマンスはすべてメモリに基づいています。ハードディスクを使用すると、パフォーマンスが低下します。高速なデータ応答を確保するために、キャッシュ内のデータをクリアする必要があります。

2期限切れのキー処理

期限切れのキーキャッシュは期限切れになりますが、サーバーのメモリは引き続き使用されます。これは、redisに基づく2つの削除戦略が原因です。

1(アクティブ)定期的に削除

  • 期限切れのキーを定期的かつランダムにチェックし、期限切れの場合はクリーンアップして削除します。(1秒あたりのチェック数はredis.confのhzで構成されます)

2(パッシブ)レイジー削除

  • クライアントが期限切れのキーを要求すると、redisはキーが期限切れかどうかを確認し、期限切れの場合は削除してからnilを返します。この戦略は比較的友好的であり、それほど多くの損失を引き起こすことはありませんが、メモリ使用量は比較的高くなります。

そのため、redisキーの有効期限が切れても、redisによってクリーンアップされない限り、メモリを占有します。

3メモリ除去メカニズム

メモリがいっぱいの場合は、ディスクを使用してデータを保存できます。この場合、当初の意図に反して、データの応答速度が大幅に低下し、redisのパフォーマンスに影響します。

したがって、メモリがいっぱいになると、redisはキャッシュ除去メカニズムを提供します。MEMORY MANAGEMENT

maxmemory :メモリ使用率に達したら、キャッシュのクリアを開始します

* noeviction:旧缓存永不过期,新缓存设置不了,返回错误
* allkeys-lru:清除最少用的旧缓存,然后保存新的缓存(推荐使用)
* allkeys-random:在所有的缓存中随机删除(不推荐)
* volatile-lru:在那些设置了expire过期时间的缓存中,清除最少用的旧缓存,然后保存新的缓存
* volatile-random:在那些设置了expire过期时间的缓存中,随机删除缓存
* volatile-ttl:在那些设置了expire过期时间的缓存中,删除即将过期的

4関連情報

  • ブログ投稿は簡単ではありません、注意と賞賛に一生懸命働いたすべての人、ありがとう

おすすめ

転載: blog.csdn.net/qq_15769939/article/details/113831246