検索
ホームページデータベースRedisRedis メモリがいっぱいになった場合の問題を解決する方法

Redis メモリがいっぱいになった場合の問題を解決する方法

Redis メモリがいっぱいです 解決策:

1、メモリを増やします。

2、メモリ排除戦略を使用します。

3、Redis クラスター。

2 と 3 に注目:

2 番目の点:

redis 構成ファイルの maxmemory パラメーターで、使用可能な最大メモリ サイズ (バイト) を制御できることがわかっています。

それでは、必要なメモリが maxmemory を超えた場合はどうすればよいでしょうか?

このとき、構成ファイル内の maxmemory-policy が機能します。

デフォルト値は noeviction です。

以下に、使用可能なメモリが不十分な場合に Redis キーを削除するための除外ルールを示します。

ルールの説明:

1. volatile-lru

LRU アルゴリズムを使用してキーを削除します (生存時間が設定されているキーのみ)

2. allkeys-lru

LRU アルゴリズムを使用してキーを削除します

3、volatile-random

キーをランダムに削除します (生存時間が設定されているキーのみ)

4. allkeys-random

キーをランダムに削除します

#5.volatile-ttl

##最新の生存時間を持つキーを削除します

6.noeviction

キーは削除しないでください。エラーのみを返します。

LRU アルゴリズム、最も最近使用されていないアルゴリズム、最も最近使用されていないアルゴリズム。つまり、最も最近使用されていないキーがデフォルトで削除されます。

しかし、注意しなければならないことが 1 つあります。 Redis は、すべてのキーのうち最も最近使用されていないキーを正確に削除するのではなく、ランダムに 3 つのキーを選択し、これら 3 つのキーのうち最も最近使用されていないキーを削除します。

次に、数値 3 も設定でき、対応する場所は構成ファイルの maxmeory-samples です。

3. クラスターの実行方法

Redis はのみサポートしていますシングルインスタンス、メモリ 通常最大10~20GB。 100 ~ 200 GB のメモリを備えたシステムの場合、クラスタリングを通じてサポートする必要があります。

Redis クラスタリングには、クライアント シャーディング、プロキシ シャーディング、RedisCluster の 3 つの方法があります (これについては後の記事で詳しく説明します。)

1. クライアント シャーディング

ルーティングの実装ビジネスコード経由

メリット: シャーディングアルゴリズムを自分で制御でき、プロキシよりもパフォーマンスが優れています

デメリット: 維持コストが高く、拡張/縮小などの運用保守作業が必要研究と開発

2. エージェント シャーディング

エージェント プログラムはビジネス プログラムからデータ リクエストを受け取り、ルーティング ルールに従ってこれらのリクエストを正しい Redis インスタンスに分散します。そしてそれらをビジネスプログラムに戻します。 Twemproxy や Codis などのミドルウェアを使用して実装されます。

メリット: 運用保守が容易、Redis インスタンスへの接続方法を気にする必要がない

デメリット: パフォーマンスを消費する(約20%)、スムーズに拡張できない/縮小し、データを移行するためにスクリプトを実行する必要があるため、不便です (Codis は自動リバランスを実現するために Twemproxy に基づいてプリシャーディングを最適化および実装します)。

3. Redis クラスター

利点: 公式クラスター ソリューション、セントラル ノードなし、クライアントへの直接接続、優れたパフォーマンス

欠点: ソリューションが重すぎるため、実行できませんスムーズな拡張/縮小には、対応するスクリプトの実行が必要ですが、これは不便で、新しすぎ、対応する成熟したソリューション ケースがありません

Redis 関連の知識の詳細については、

Redis 使用法チュートリアル

を参照してください。カラム!

以上がRedis メモリがいっぱいになった場合の問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Redisのさまざまなバージョンの互換性はどのようにありますかRedisのさまざまなバージョンの互換性はどのようにありますかMar 04, 2025 pm 05:57 PM

この記事では、Redisバージョンの互換性の課題について説明します。 メジャーバージョンのアップグレードは、コマンド、データ構造、構成の変更により、大きな互換性リスクをもたらします。 この記事は、Redis-Cliを利用して、徹底的なテストを強調しています

コマンドライン経由でRedisからバージョンを表示する方法コマンドライン経由でRedisからバージョンを表示する方法Mar 04, 2025 pm 06:00 PM

この記事では、コマンドラインを介してRedisサーバーバージョンを確認する方法について詳しく説明します。 主要な方法であるRedis-Cli Info Serverは、サーバーの出力からバージョン情報を効率的に取得し、直接的で信頼できるソリューションを提供します。 代替a

Redisバージョンを表示するためのショートカットはありますか?Redisバージョンを表示するためのショートカットはありますか?Mar 04, 2025 pm 05:59 PM

この記事では、Redisサーバーバージョンをチェックする方法について詳しく説明しています。 Redis-Cli -VersionとInfo Serverを使用して、構成ファイル、プロセスリスト、パッケージマネージャーを調べることを比較します。 redis-cli内の情報サーバーコマンドはtとして識別されます

Redisクラスターでシャードキーを選択するにはどうすればよいですか?Redisクラスターでシャードキーを選択するにはどうすればよいですか?Mar 17, 2025 pm 06:55 PM

この記事では、Redisクラスターでシャードキーを選択し、パフォーマンス、スケーラビリティ、データ分布への影響を強調しています。重要な問題には、データ分布の確保、アクセスパターンの調整、一般的な間違いの回避lが含まれます。

Redisバージョン番号は何ですかRedisバージョン番号は何ですかMar 04, 2025 pm 06:01 PM

この記事では、Redisバージョン番号、その文字列データ型、およびバージョンをチェックする方法(Redis-Cli、構成ファイル、またはプログラムで)を詳しく説明しています。 また、主要バージョン間の違いを調査し、パフォーマンスの拡張器に焦点を当てています

Redisでキャッシュ無効化戦略を実装するにはどうすればよいですか?Redisでキャッシュ無効化戦略を実装するにはどうすればよいですか?Mar 17, 2025 pm 06:46 PM

この記事では、時間ベースの有効期限、イベント駆動型の方法、バージョン化など、Redisでキャッシュの無効化を実装および管理するための戦略について説明します。また、キャッシュの有効期限と監視とオートマットのツールのベストプラクティスもカバーしています

Pub/SubメッセージングにRedisを使用するにはどうすればよいですか?Pub/SubメッセージングにRedisを使用するにはどうすればよいですか?Mar 17, 2025 pm 06:48 PM

この記事では、Pub/サブメッセージング、セットアップ、ベストプラクティスのカバー、メッセージの信頼性の確保、監視のパフォーマンスにRedisを使用する方法について説明します。

ジョブキューとバックグラウンド処理にRedisを使用するにはどうすればよいですか?ジョブキューとバックグラウンド処理にRedisを使用するにはどうすればよいですか?Mar 17, 2025 pm 06:51 PM

この記事では、ジョブキューとバックグラウンド処理にRedisを使用し、セットアップ、ジョブの定義、実行の詳細を使用しています。アトミックオペレーションやジョブの優先順位付けなどのベストプラクティスをカバーし、Redisが処理効率を高める方法を説明します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール