Ubuntuでのmemcachedの設定

この節では、Ubuntuにmemcachedをインストールする手順を説明します。

INFO
Adobeでは、memcached バージョン 3.0.5以降を使用することをお勧めします。

PHPはmemcacheをネイティブにサポートしていないので、PHPで使用するには拡張機能をインストールする必要があります。 利用可能なPHP拡張機能は2つあり、どの拡張機能を使用するかをデコードすることが重要です。

  • memcacheno d) – 古いが人気のある拡張機能で、定期的にメンテナンスされません。
    現在memcache拡張機能​はPHP 7で動作しません。 memcache🔗については、PHP ドキュメントを参照してください。

    Ubuntuの正確な名前はphp5-memcacheです。

  • memcachedd) - PHP 7と互換性のある、新しく保守された拡張機能。 memcached🔗については、PHP ドキュメントを参照してください。

    Ubuntuの正確な名前はphp5-memcachedです。

Ubuntuでのmemcachedのインストールと設定

Ubuntu​でmemcachedをインストールして設定するには:

  1. root権限を持つユーザーとして、次のコマンドを入力します。

    code language-shell
    apt-get -y update
    
    code language-shell
    apt-get -y install php5-memcached memcached
    
  2. CACHESIZE-lのmemcached設定設定を変更します。

    1. /etc/memcached.confをテキストエディターで開きます。

    2. -m パラメーターを探します。

    3. その値を1GB以上に変更してください

    4. -l パラメーターを探します。

    5. 値を127.0.0.1またはlocalhostに変更します

    6. 変更をmemcached.confに保存して、テキストエディターを終了します。

    7. memcachedを再起動します。

      code language-shell
      service memcached restart
      
  3. Web サーバーを再起動します。

    Apacheの場合、service apache2 restart

  4. 次のセクションに進みます。

Magentoをインストールする前に、memcachedが機能することを確認する

Adobeでは、Commerceをインストールする前にmemcachedをテストして、動作することを確認することをお勧めします。 これには数分しかかかりませんし、後でトラブルシューティングを簡素化できます。

memcachedがweb サーバーで認識されていることを確認します

memcachedがweb サーバーで認識されていることを確認するには:

  1. Web サーバーのdocrootにphpinfo.php ファイルを作成します。

    code language-php
    <?php
    // Show all information, defaults to INFO_ALL
    phpinfo();
    
  2. web ブラウザーでそのページに移動します。 例:

    code language-http
    http://192.0.2.1/phpinfo.php
    
  3. memcachedが次のように表示されることを確認します。

    memcachedがweb サーバーによって認識されていることを確認してください

    memcached バージョン 3.0.5以降を使用していることを確認します。

    memcachedが表示されない場合は、web サーバーを再起動してブラウザーページを更新します。 それでも表示されない場合は、php-pecl-memcached拡張機能がインストールされていることを確認してください。

memcachedがデータをキャッシュできることを確認します

このテストでは、PHP スクリプトを使用して、memcachedがキャッシュデータを保存および取得できることを検証します。

このテストについて詳しくは、Ubuntu チュートリアルでMemcacheをインストールして使用する方法を参照してください。

Web サーバーのdocrootに次の内容を含むcache-test.phpを作成します。

$meminstance = new Memcached();

$meminstance->addServer("<memcached hostname or ip>", <memcached port>);

$result = $meminstance->get("test");

if ($result) {
    echo $result;
} else {
    echo "No matching key found. Refresh the browser to add it!";
    $meminstance->set("test", "Successfully retrieved the data!") or die("Could not save anything to memcached...");
}

ここで、<memcached hostname or ip>localhost127.0.0.1、またはmemcache ホスト名またはIP アドレスのいずれかです。 <memcached port>はリッスン ポートです。既定では11211

web ブラウザーでそのページに移動します。 例

http://192.0.2.1/cache-test.php

初めてページに移動すると、次のように表示されます。No matching key found. Refresh the browser to add it!

ブラウザーを更新します。 メッセージがSuccessfully retrieved the data!に変更されます

最後に、Telnetを使用してmemcache キーを表示できます。

telnet localhost <memcache port>

プロンプトに、次のように入力します

stats items

結果は次のようになります。

STAT items:2:number 1
STAT items:2:age 106
STAT items:2:evicted 0
STAT items:2:evicted_nonzero 0
STAT items:2:evicted_time 0
STAT items:2:outofmemory 0
STAT items:2:tailrepairs 0
STAT items:2:reclaimed 0
STAT items:2:expired_unfetched 0
STAT items:2:evicted_unfetched 0

memcached ストレージをフラッシュしてTelnetを終了します。

flush_all
quit

Telnet テストに関する追加情報

recommendation-more-help
commerce-operations-help-configuration