ホームページ  >  記事  >  データベース  >  Redis でキャッシュの有効期限とキャッシュによって占有されるメモリに対処する方法について簡単に説明します。

Redis でキャッシュの有効期限とキャッシュによって占有されるメモリに対処する方法について簡単に説明します。

青灯夜游
青灯夜游転載
2021-11-26 19:32:231861ブラウズ

Redis でキャッシュの有効期限とキャッシュによって占有されるメモリに対処する方法について簡単に説明します。次の記事では、Redis におけるキャッシュの有効期限処理戦略とメモリ削除メカニズムについて説明します。

Redis でキャッシュの有効期限とキャッシュによって占有されるメモリに対処する方法について簡単に説明します。

#期限切れのキーに対処するにはどうすればよいですか?

期限切れのキー キャッシュの有効期限が切れていますが、サーバーのメモリはまだ占有されています。これは、redis が基づいている 2 つの削除戦略のためです。
Redis には 2 つの戦略があります:

  • (アクティブ) 定期的な削除

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

    • クライアントがリクエストしたとき、有効期限切れ キーが入力されると、redis はキーの有効期限が切れているかどうかを確認し、有効期限が切れている場合は削除して nil を返します。この戦略は CPU にとってより優しく、あまり大きな損失は発生しませんが、メモリ使用量は比較的多くなります。

つまり、キーの有効期限が切れても、redis によってクリアされない限り、メモリは占有されたままになります。 [関連する推奨事項: Redis ビデオ チュートリアル ]

では、メモリが Redis キャッシュによって占有されていて速度が遅い場合はどうすればよいでしょうか?

メモリがいっぱいの場合、ハードディスクを使用して保存することもできますが、ハードディスクはメモリほど高速ではなく、redis のパフォーマンスに影響を与えるため、意味がありません。
そのため、メモリがいっぱいになった場合、redis はキャッシュ削除メカニズムを提供します: メモリ管理

maxmemory: メモリ使用率に達すると、キャッシュのクリーンアップが開始されます

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

プログラミング関連の知識については、プログラミング入門をご覧ください。 !

以上がRedis でキャッシュの有効期限とキャッシュによって占有されるメモリに対処する方法について簡単に説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjuejin.cnで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。