WordPress で Redis を構成する方法

Redis は、高度なキー値データベースを実装するデータ構造サーバーです。 その高いパフォーマンスとスケーラビリティにより、読み取り、書き込み、またはユーザー負荷の要件が高いアプリケーションに最適です。 WordPress サイトの小規模なキャッシュとして使用できますが、画像やスタイルシートなどの静的コンテンツを保存するための本格的なキャッシュ バックエンド ソリューションとしても使用できます。 この記事では、Object Cache プラグインを使用して WordPress で Redis を構成する方法を紹介します。

レディスとは?

Redis は、同じデータベースにデータを格納および取得するために使用できるオープンソース ツールであり、別のデータベースを用意する必要がありません。 また、市場で最も人気のあるキャッシング ソリューションの 1 つとも考えられています。 Redis は Lua と呼ばれるプログラミング言語を使用します。Lua はどのオペレーティング システムでも動作し、必要に応じてその機能を拡張またはカスタマイズできます。

カスタム PHP サイトで Redis を使用することもできます。

さまざまな Redis データ型とは?

Redis には、さまざまなデータ型が付属しています。 特定のタスクに適しているものもあれば、WordPress で使用するために特別に構築されたものもあります。 次の表は、最も関連性の高いものを示しています。

皮ひも:

文字列は Redis 値の最も基本的なタイプです。 Redis 文字列はバイナリセーフです。これは、JPEG 画像やシリアル化された Ruby オブジェクトなど、あらゆるタイプのデータを保持できることを意味します。

文字列値の最大長は 512 メガバイトです。

リスト:

Redis リストは、挿入順にソートされた単純な文字列です。 新しいエントリをリストの先頭 (左側) または末尾 (右側) にプッシュすることで、新しいエントリを Redis リストに追加できます。

セット:

Redis セットは、順序付けされていない文字列のコレクションです。

Redis Sets には、メンバーの重複を許可しないという利点があります。 同じ要素が複数回追加された場合、セットにはその要素のコピーが 1 つだけ含まれます。

ハッシュ:

Redis ハッシュは文字列フィールドと文字列値の間のマッピングであるため、オブジェクトを表すのに理想的です。

ハッシュは主にオブジェクトを表すために使用されますが、多数のアイテムを格納できるため、他のさまざまな目的に使用できます。

ソートされたセット:

Redis ソート セットは、Redis セットと同様に、繰り返しのない文字列のコレクションです。 違いは、Sorted Set のすべてのメンバーには、Sorted Set を最低スコアから最高スコアの順序に保つために使用されるスコアがあることです。 メンバーが一意であっても、スコアが重複する場合があります。

Redis Object Cache プラグインをインストールして構成する

Redis Object Cache プラグインを構成するには、次の手順を実行する必要があります。

  • プラグインをインストールします。
  • プラグインを構成します。
  • 本番環境で Redis Object Cache を使用するようにサイトを設定する

テストと検証

WordPress サイトが Redis を使用しているかどうかわからない場合は、次のことを試してください。

  • wp-content/plugins ディレクトリに redis.yml ファイルがあることを確認します。 存在しない場合は、次の内容で作成します。

Redis: ホスト: localhost ポート: 6379 dB: 1 キースペース: デフォルトのタイムアウト: 5 秒

  • Redis Object Cache プラグインを使用して、WordPress サイトが Redis を使用しているかどうかを確認するには、[設定]>[パフォーマンス]>[オブジェクト キャッシュ](または任意の関連オプション) で設定パネルを有効にします。 プラグインは、この特定のページでオブジェクトのキャッシュを有効にするかどうかを尋ねます。 その場合は[はい]をクリックします。 これにより、各リクエスト タイプ (つまり、「キー」と「値」) で実行された作業量に関する情報が得られます。これらは、後でディスクに再度書き込む必要があるまで一時的にメモリに保存されている検索やブログ投稿などです。前回このページにアクセスしたときから何も保存せずにログアウトした可能性のある読者からの定期的なアクセス中に、再びアクセスされた場合は、次のようになります。」

Cyber​​Panel に Redis をインストールするには?

Cyber​​Panel を使用している場合、Redis デーモンは簡単にインストールできます。Cyber​​Panel をサーバーに簡単にインストールする方法については、ここをクリックしてください。

新しいウェブサイトを作成する

PHP サイトで Redis を使用する前に、Cyber​​Panel で Redis を作成する必要があります。また、サイトの作成中に選択した PHP バージョンをメモしておいてください。後でこのバージョンを使用して Redis PHP Cache 拡張機能をインストールするためです。

Cyber​​Panel では、誰でも簡単に Web サイトを作成できます。 ウェブサイトの作成は、わずか 4 ステップの手順です。

  • Cyber​​Panel ダッシュボードにログイン

  • 左側のメニューから[Web サイト]->[Web サイトの作成]をクリックします。
  • 関連するすべての情報を入力します。ここに入力している php を必ず書き留めてください。

  • 「ウェブサイトを作成する」をクリック

Cyber​​Panel に PHP Redis Cache をインストールする

Redis を Cyber​​Panel にインストールするのは非常に簡単で、数ステップしかありません。 それでは、それらを見ていきましょう。

  • Cyber​​Panel ダッシュボードにログインします

  • 左側のメニューから[サービスの管理]->[アプリケーション]をクリックします。

  • 「Redis」の前にある「インストール」をクリックします

Redis PHP 拡張機能をインストールする

Redis で PHP プログラミングを行う前に、上記でインストールした Redis デーモンと通信する Redis PHP 拡張機能をインストールする必要があります。

  • Bitvise を使用して SSH にログインし、コマンド プロンプトを開きます。

  • 次のコマンドを入力し、ウェブサイトの作成中に選択した lsphp の後に、必ず php を入力してください。

apt-get インストール lsphp74-redis -y

  • ここで、php を再起動して拡張機能の構成を読み取れるようにするコマンドを入力する必要があります。

killall lsphp

  • Cyber​​Panel を使用してサイトのファイル マネージャーに移動します。

  • public_html にファイル「redis.php」を作成します

  • 新しいファイルのコード ミラーを開きます。 次のコードを入力し、[保存]をクリックします
  • //localhost 上の Redis サーバーに接続しています
  • $redis = 新しい Redis();
  • $redis->connect(‘127.0.0.1’, 6379);
  • echo “サーバーへの接続に成功しました”;
  • // Redis リストにデータを保存します
  • $redis->lpush(“チュートリアルリスト”, “Redis”);
  • $redis->lpush(“チュートリアルリスト”, “MongoDB”);
  • $redis->lpush(“チュートリアルリスト”, “Mysql”);
  • // 保存されたデータを取得して出力する
  • $arList = $redis->lrange(“チュートリアルリスト”, 0,5);
  • echo “redis に格納された文字列:: “;
  • print_r($arList);

?>

  • ブラウザで PHP ファイルを開くと、コードが Redis デーモンと通信していることがわかります。

  • SSHを開き、コマンドプロンプトに入り、コマンドを入力します

Redis-cli モニター

データが表示され、ブラウザで再度確認することもできます

結論

Redis キャッシュを使用すると、サイトの読み込みを高速化できます。 上記の PHP Redis Cache の例に従って、Redis Cache を PHP と簡単に統合できます。 Redis のデータはメモリ内キャッシュであるため、永続的に保存されるわけではないことに注意してください。そのため、MySQL を使用する必要があるデータを永続的に保存するメカニズムがアプリにあることも確認してください。

Leave a Comment

Your email address will not be published. Required fields are marked *