ホームページ  >  記事  >  バックエンド開発  >  PHP で Redis テクノロジーを使用するにはどうすればよいですか?

PHP で Redis テクノロジーを使用するにはどうすればよいですか?

王林
王林オリジナル
2023-05-13 08:12:20973ブラウズ

Redis は、キャッシュ システム、パブリッシュ/サブスクライブ システム、メッセージ キュー、タイマーなどとして使用できる高性能のインメモリ データ ストレージ システムです。 Web アプリケーションの急速な発展に伴い、Redis はキャッシュ、データベース、メッセージ キューとして広く使用されるようになりました。 PHP は広く使用されているプログラミング言語であり、Redis とともに使用すると、Redis の利点を最大限に発揮し、Web アプリケーションのパフォーマンスと柔軟性を向上させることができます。

PHP で Redis を使用するには、Redis 拡張機能をインストールする必要があります。 Redis は、PHP、Python、Java、Ruby などの複数のプログラミング言語をサポートしており、PHP 用の Redis 拡張機能は phpredis です。 phpredis は Redis 開発者が提供する PHP 拡張機能で、C 言語で記述されており、高いパフォーマンスを確保しながら PHP コードを通じて簡単に操作できます。

まず、phpredis 拡張機能をインストールする必要があります。通常、ソース コードによるインストールと pecl によるインストールの 2 つのインストール方法があります。ソース コードをインストールするには、phpredis ソース コードをダウンロードし、解凍してコンパイルしてインストールする必要があります。 pecl インストールの場合、コマンド ラインを直接使用してインストールできます: sudo pecl install redis。適切なインストール方法を選択してインストールするだけです。

インストールが完了すると、PHP コードで Redis を使用できるようになります。 Redis の基本的な操作の一部を次に示します。

  1. Redis サーバーへの接続

Redis クラスのインスタンス化関数 (例:

$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
#) を使用できます。 ##ここで、「127.0.0.1」は Redis サーバーのアドレスを表し、6379 は Redis ポート番号を表します。

    キャッシュを設定する
set() 関数を使用してキャッシュを設定できます。

$redis->set('key', 'value');

このうち、「key」はキーを表します。 「value」は値を表します。次のようにキーの有効期限を設定できます:

$redis->set('key', 'value', 3600); // 单位为秒,设置1小时过期

    キャッシュを取得
get() 関数を使用してキャッシュを取得できます:

$value = $redis->get('key');

$value はキャッシュされた値です。

    キャッシュを削除します
delete() 関数を使用してキャッシュを削除できます。

$redis->delete('key');

    キャッシュ キーが存在するかどうかを確認します。
exists() 関数を使用して、キャッシュ キーが存在するかどうかを確認できます。

if ($redis->exists('key')) {
    // 存在缓存
} else {
    // 不存在缓存
}

    セット リスト、セット、順序付きセット
lpush()、rpush( )、sadd()、zadd() およびその他の関数を使用して、リスト、セット、および順序付きセットを設定できます。

$redis->lpush('list_key', 'value1', 'value2', 'value3');
$redis->rpush('list_key', 'value4', 'value5', 'value6');
$redis->sadd('set_key', 'value1', 'value2', 'value3');
$redis->zadd('zset_key', 1, 'value1');
$redis->zadd('zset_key', 2, 'value2');
$redis->zadd('zset_key', 3, 'value3');

    リスト、セット、および順序付きセットを取得する
lrange ()、smembers()、zrange() などの関数を使用して、リスト、セット、順序付きセットを取得できます。

$list = $redis->lrange('list_key', 0, -1);
$set = $redis->smembers('set_key');
$zset = $redis->zrange('zset_key', 0, -1, true);

このうち -1 は終了を示しますtrue は戻り値にスコアが含まれていることを示します。

上記は Redis の基本的な操作の一部であり、実際の運用ではビジネス ニーズに応じてより柔軟に Redis を運用できます。 Redis を使用する場合は、次のベスト プラクティスにも従う必要があります。

    有効期限を有効に活用する
データを更新する必要がない状況の場合長期キャッシュを設定すると、キャッシュされたデータが可能な限り長期間保存され、データベースへのアクセス数と応答時間を削減できます。頻繁に更新されるデータの場合は、短期キャッシュを設定し、キャッシュされたデータをできるだけ短く保つことができます。これにより、キャッシュされたデータの障害を減らすことができます。

    キャッシュされたデータのサイズを制御する
Redis はメモリベースのストレージ システムであり、Redis メモリのオーバーフローを避けるためにキャッシュされたデータのサイズを制御する必要があります。最大メモリ制限を設定でき、メモリ使用量が制限に達した場合、最も最近使用されていないキャッシュ データを削除することを選択できます。

    パイプラインの合理的な使用
パイプラインを使用すると、複数の操作を 1 つの操作に結合できるため、Redis と PHP 間の通信の数が減り、効率が向上します。日常の開発では、パイプラインを使用して複数の Redis 操作をバッチ処理できます。

    キャッシュなだれを回避する
キャッシュなだれとは、キャッシュ内の大量のデータが期限切れになるか、同時に削除され、その結果、大量のデータが失われる状況を指します。大量のデータがデータベースから一度に取得されるため、データベースのダウンタイムが発生します。キャッシュ雪崩を回避するために、分散キャッシュやキャッシュ有効期限のランダム化などの方法を使用できます。

要約すると、Redis は高性能のインメモリ データ ストレージ システムとして、その利点を最大限に発揮し、Web アプリケーションのパフォーマンスと柔軟性を向上させることができます。 PHP での Redis の使用も非常に簡単で、phpredis 拡張機能をインストールし、Redis クラスの関数を使用して操作するだけです。同時に、いくつかのベスト プラクティスに従い、Web アプリケーションの高いパフォーマンスと安定性を確保するために Redis を使用するスキルを習得する必要もあります。

以上がPHP で Redis テクノロジーを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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