Memcached · 2 min read · Nov 07, 2025
Ubuntu 22.04にMemcachedをインストールする方法

Memcachedは、データベースデータをキャッシュするために使用される無料のオープンソースの汎用分散メモリキャッシングシステムです。これは、データベースの負荷を軽減することによって動的Webアプリケーションの速度を向上させるために使用される高性能のメモリキャッシングシステムです。Memcachedは、クライアントとサーバーが協力してキャッシュデータをできるだけ効率的に提供できるようにする4つのコンポーネントで構成されています。PHP、Java、C/C++、Python、Ruby、Perlなどの主要な言語のすべてにAPI統合を提供します。
このチュートリアルでは、Ubuntu 22.04サーバーにMemcachedサーバーをインストールし、PHPで使用する方法を示します。
要件
- Ubuntu 22.04を実行しているサーバー。
- サーバーに設定されたrootパスワード。
Ubuntu 22.04にMemcachedをインストールする
デフォルトでは、MemcachedパッケージはUbuntuのデフォルトリポジトリに含まれています。次のコマンドを使用して簡単にインストールできます:
apt install memcached libmemcached-tools -yMemcachedがインストールされたら、次のコマンドを使用してMemcachedサービスを開始します:
systemctl start memcached次のコマンドを使用してMemcachedのステータスを確認できます:
systemctl status memcached次の出力が得られるはずです:
? memcached.service - memcached daemon
Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2022-10-18 13:09:47 UTC; 29s ago
Docs: man:memcached(1)
Main PID: 5525 (memcached)
Tasks: 10 (limit: 2242)
Memory: 1.7M
CPU: 71ms
CGroup: /system.slice/memcached.service
??5525 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid
Oct 18 13:09:47 ubuntu2204 systemd[1]: Started memcached daemon.
Memcachedのバージョンを確認するには、次のコマンドを実行します:
memcached -V次の出力が得られます:
memcached 1.6.14デフォルトでは、Memcachedはポート11211でリッスンします。次のコマンドを使用して確認できます:
ss -plunt | grep memcache次の出力が表示されるはずです:
tcp LISTEN 0 1024 127.0.0.1:11211 0.0.0.0:* users:(("memcached",pid=5525,fd=22)) PHP Memcached拡張をインストールする
MemcachedをPHPベースのアプリケーションで使用するには、サーバーにPHP Memcached拡張をインストールする必要があります。次のコマンドを使用してApacheと共にインストールできます:
apt install apache2 php libapache2-mod-php php-memcached php-cli -y次に、Memcachedを確認するためのサンプルPHPテストページを作成します:
nano /var/www/html/info.php次のコードを追加します:
ファイルを保存して閉じたら、変更を適用するためにApacheサービスを再起動します:
systemctl restart apache2次に、Webブラウザを開き、URL http://your-server-ip/info.phpを使用してPHPページにアクセスします。次の画面にMemcachedが表示されるはずです:

次に、Memcachedが機能するかどうかを確認するために別のPHPテストページを作成します。
nano /var/www/html/test.php次のコードを追加します:
addServer("127.0.0.1", 11211);
$response = $memcached->get("key_cache");
if($response==true)
{
echo "キャッシュからの結果";
echo $response;
}
else
{
echo "キャッシュはまだ作成されていません。変更を確認するには再読み込みしてください";
$memcached->set("key_cache", "やった!Memcacheは今動作しています...") ;
}
}
catch (exception $e)
{
echo $e->getMessage();
}
?>ファイルを保存して閉じたら、Webブラウザを開き、URL http://your-server-ip/test.phpを使用してPHPテストページにアクセスします。次の画面が表示されるはずです:

次に、ページを再読み込みします。この時、ページはキャッシュメモリから読み込まれます。以下のように表示されます:

認証でMemcachedを保護する
ユーザーベースの認証でMemcachedを保護するために、シンプル認証およびセキュリティレイヤー(SASL)を使用することをお勧めします。そのためには、サーバーにsasl2-binパッケージをインストールする必要があります。
apt install sasl2-bin次に、SASL認証用のディレクトリと構成ファイルを作成します:
mkdir -p /etc/sasl2
nano /etc/sasl2/memcached.conf次の行を追加します:
log_level: 5
mech_list: plain
sasldb_path: /etc/sasl2/memcached-sasldb2ファイルを保存して閉じたら、ユーザー資格情報を使用してSASLデータベースを作成します:
saslpasswd2 -a memcached -c -f /etc/sasl2/memcached-sasldb2 user1以下のようにパスワードを設定します:
Password:
Again (for verification): 次に、Memcachedデータベースの所有権を変更します:
chown memcache:memcache /etc/sasl2/memcached-sasldb2次に、次のコマンドを使用してMemcachedを確認します:
memcstat --servers="127.0.0.1"次の出力が得られるはずです:
Server: 127.0.0.1 (11211)
pid: 5525
uptime: 462
time: 1666099048
version: 1.6.14
libevent: 2.1.12-stable
pointer_size: 64
rusage_user: 0.110123
rusage_system: 0.093906
max_connections: 1024
curr_connections: 1
total_connections: 4
rejected_connections: 0
connection_structures: 2
response_obj_oom: 0
response_obj_count: 1
response_obj_bytes: 49152
read_buf_count: 6
read_buf_bytes: 98304
read_buf_bytes_free: 32768
read_buf_oom: 0
reserved_fds: 20
cmd_get: 2
cmd_set: 1
cmd_flush: 0
cmd_touch: 0
cmd_meta: 0
get_hits: 1
get_misses: 1
get_expired: 0
get_flushed: 0
delete_misses: 0次に、Memcached構成ファイルを編集します:
nano /etc/memcached.conf次の行を追加します:
-S
-vvファイルを保存して閉じたら、変更を適用するためにMemcachedサービスを再起動します:
systemctl restart memcached次に、次のコマンドを使用してSASLサポートを確認します:
journalctl -u memcached |grep SASLすべてが正常であれば、次の出力が得られます:
Journal file /var/log/journal/d97e195db6584d63aeedfdc35dc83c7f/user-1000.journal is truncated, ignoring file.
Oct 18 13:18:19 ubuntu2204 systemd-memcached-wrapper[14980]: Initialized SASL.Memcached認証を確認する
まず、認証なしでMemcachedへの接続を再確認してみてください:
memcstat --servers="127.0.0.1"コマンドは出力を生成しないはずです。次のシェルコマンドを入力してそのステータスを確認します:
echo $?次のステータスコードを受け取るはずで、memcstatコマンドが失敗したことを意味します。
1次に、ユーザー名とパスワードを指定してMemcachedコマンドを再実行します:
memcstat --servers="127.0.0.1" --username=user1 --password=password次の出力が得られます:
Server: 127.0.0.1 (11211)
pid: 14980
uptime: 46
time: 1666099143
version: 1.6.14
libevent: 2.1.12-stable
pointer_size: 64
rusage_user: 0.077843
rusage_system: 0.049072
max_connections: 1024
curr_connections: 1
total_connections: 3
rejected_connections: 0
connection_structures: 2
response_obj_oom: 0
response_obj_count: 1
response_obj_bytes: 16384
read_buf_count: 3
read_buf_bytes: 49152
read_buf_bytes_free: 16384
read_buf_oom: 0Python用のMemcachedをインストールする
PythonベースのWebアプリケーションにMemcachedを統合したい場合は、Python用のMemcached拡張をインストールする必要があります。次のコマンドを使用してインストールできます:
apt install python3-pip
pip install pymemcache
pip install python-memcached結論
この記事では、Ubuntu 22.04にMemcachedサーバーをインストールする方法を説明しました。また、SASLベースの認証でMemcachedを保護する方法も説明しました。これで、アプリケーションのパフォーマンスを向上させるためにMemcachedを統合できることを願っています。質問があればお気軽にお尋ねください。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。