UbuntuへのMemcachedのインストールを説明します。
OS標準(若干古い)ではなく、最新のMemcachedをインストールしていきます。
本記事の内容
- Memcachedとは?
- Memcachedのシステム要件
- Memcachedのインストール
- Memcachedの動作確認
それでは、上記に沿って解説していきます。
Memcachedとは?
Memcachedとは、サーバーキャッシュのことです。
細かい説明は、Memcached自らに語ってもらいましょう。
$ sudo apt show memcached Package: memcached Version: 1.5.22-2ubuntu0.1 Priority: optional Section: web Origin: Ubuntu Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Original-Maintainer: Chris Lamb <lamby@debian.org> Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 332 kB Pre-Depends: init-system-helpers (>= 1.54~) Depends: adduser, lsb-base, perl, perl:any, libc6 (>= 2.17), libevent-2.1-7 (>= 2.1.8-stable), libsasl2-2 (>= 2.1.27+dfsg) Suggests: libanyevent-perl, libcache-memcached-perl, libmemcached, libterm-readkey-perl, libyaml-perl Homepage: https://memcached.org/ Download-Size: 126 kB APT-Sources: http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages Description: High-performance in-memory object caching system Danga Interactive は、既に一日当たり 100 万ユーザによる 2000 万以上の動的 ページビューを数台のウェブサーバとデータベースサーバで供給してきた LiveJournal.com の速度を向上させるため、memcached を開発しました。 memcached は、データベースの負荷がほぼ無くなるほど低下させ、より高速な ページ読み込み時間をユーザにもたらし、より良いリソース利用率と memcache ミス時のデータベースへのより高速なアクセス速度 をもたらしました。 . memcached は、多用途のロックを行わないメモリアクセスシステムを利用するように 設計された、特別な高負荷のサービスアプリケーションを最適化します。 クライアントは、いくつかの異なるプログラム言語で利用でき、特定の アプリケーションの要求に適合できます。伝統的に、この機能は、Apache が消費 するメモリによる多量のデータの消費を回避し、複数のマシンでこのメモリ負荷を 共有するために、mod_perl アプリケーションにより利用されてきました。 N: 追加レコードが 1 件あります。表示するには '-a' スイッチを付けてください。
Ubuntu 20.04 LTSでは、memcached 1.5.22がOS標準となります。
このままaptコマンドでインストールすれば、memcached 1.5.22がインストールされます。
ただ、memcached 1.5.22は2020年2月1日にリリースされています。
1年以上も前となり、ソフトウェアの時間軸では古いと言えます。
そこで、最新版となるバージョンをインストールしていきます。
以上、Memcachedについての説明でした。
次は、Memcachedのシステム要件を確認します。
Memcachedのシステム要件
現時点(2021年6月)でのMemcachedの最新バージョンは、1.6.9です。
この最新バージョンは、2020年11月20日にリリースされています。
対象OSは、特に記載がありません。
公式には、ソース(tar.gzファイル)が配布されています。
そうなると、macOSとLinuxが公式的には対象となるのでしょう。
- Debian/Ubuntu
- Redhat/Centos
公式におけるインストール方法の記述を見ると、上記が想定されています。
しかし、ソースがある以上は、ビルドできればその他のOSでも問題はないでしょう。
そもそも、サーバーキャッシュはサーバーで動く想定です。
そうであれば、Linux前提ということになりますね。
素直にLinuxにインストールしましょう。
今回は、次のOSにMemcachedの最新版をインストールします。
$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=20.04 DISTRIB_CODENAME=focal DISTRIB_DESCRIPTION="Ubuntu 20.04.2 LTS"
以上、Memcachedのシステム要件の説明でした。
次は、Memcachedをインストールしていきます。
Memcachedのインストール
Memcachedは、debパッケージで最新版が公開されています。
Memcachedのdeb一覧
http://archive.ubuntu.com/ubuntu/pool/main/m/memcached/
上記URLにアクセスすれば、最新版を取得できます。
今回は、memcached 1.6.9のdebパッケージをダウンロードします。
$ wget http://archive.ubuntu.com/ubuntu/pool/main/m/memcached/memcached_1.6.9+dfsg-1_amd64.deb
では、debパッケージをdpkg ユーティリティーでインストールします。
$ sudo dpkg -i memcached_1.6.9+dfsg-1_amd64.deb
処理が終わったら、パッケージの確認をしましょう。
$ sudo apt show memcached Package: memcached Version: 1.6.9+dfsg-1 Status: install ok installed ~省略~
表示結果の冒頭を抜き出しています。
Versionが「1.5.22」から「1.6.9」に変わっていますね。
そして、「Status: install ok installed」と記載されています。
Memcachedのインストールは、成功しています。
以上、Memcachedのインストールについて説明しました。
最後に、Memcachedの動作確認を行います。
Memcachedの動作確認
Memcachedの動作確認を行います。
Memcachedの動作状況は、次のコマンドで確認できます。
$ sudo systemctl status memcached ● memcached.service - memcached daemon Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2021-06-03 13:30:46 JST; 11min ago Docs: man:memcached(1) Main PID: 18000 (memcached) Tasks: 10 (limit: 9513) Memory: 1.8M CGroup: /system.slice/memcached.service └─18000 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid 6月 03 13:30:46 ubuntu-focal systemd[1]: Started memcached daemon.
「Active: active (running)」と表示されています。
Memcachedが起動していることを確認できます。
Memcached上での動作確認としては、次の2つを実施します。
- バージョン確認
- データ保存・取得
以下でそれぞれを確認します。
バージョン確認
インストールされたMemcachedのバージョンを確認しましょう。
ただし、Memcachedにはデフォルトではクライアントがインストールされません。
ここで言うクライアントとは、MySQLで言う「mysql」のようなツールのことです。
そのため、Memcachedへの接続にはtelnetを使います。
今時、telnetと思うかもしれませんが・・・
まだまだ、現役です。
その接続の際に利用するポートは、「11211」となります。
11211は、Memcachedのデフォルトポートです。
実際に接続してみましょう。
$ telnet 127.0.0.1 11211 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'.
ここで「version」と入力して、Enter。
version VERSION 1.6.9
そうすると、Memcachedのバージョンが表示されます。
データ保存・取得
正直、かなりわかりにくいです。
とりあえず、雰囲気だけでも掴んでください。
基本、そのまま入力してEnterを押してください。
以下の表示と同じようになれば、Memcachedの動作確認はOKです。
データ保存
set my_key 0 0 4[Enter] TEST[Enter] STORED
データ取得
get my_key[Enter] VALUE my_key 0 4 TEST END
まとめ
Memcachedの操作は、かなり面倒です。
telnetで接続して、それ以降もよくわからない入力形式です。
表示もよくわかりません。
だから、それが嫌な人は別途Memcachedのクライアントをインストールしましょう。
そのようなツールを使えば、telnetを使わずに済みます。
それに、SETやGETはプログラムを通じて実行します。
そのため、telnetでの接続にこだわる必要はありません。
とにかく、Memcachedに接続してバージョンが確認できればそれで十分です。
以上、Memcachedの動作確認についての説明でした。