Amazon Linux 2のEC2環境に、インメモリ型のKVS(キーバリューストア)かつ高速な非リレーショナルデータベース(NoSQL)である Redis(レディース)をインストールして、PHPのセッションハンドラをRedisに切り替えます。(2018/12/30作成)
MichaelGaida / Pixabay
Redisとは
Redisは、データ構造サーバーを実装するオープンソースソフトウェアプロジェクトである。いわゆるNoSQLデータベースの一つであり、Redis Labsがスポンサーとなって開発されている。ネットワーク接続されたインメモリデータベースでかつキー・バリュー型データベースであり、オプションとして永続性を持つ。 (出典: ウィキペディア)
0)環境
$ php -v PHP 7.2.11 (cli) (built: Oct 24 2018 17:51:11) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.11, Copyright (c) 1999-2018, by Zend Technologies
1)Redisインストール
Amazon Linux 2は、amazon-linux-extrasコマンドでRedisをインストールできる。
$ sudo amazon-linux-extras install redis4.0
2)Redisの自動起動設定と起動
$ sudo systemctl status redis.service $ sudo systemctl start redis.service $ sudo systemctl enable redis.service $ sudo systemctl is-enabled redis.service
3)プロセスの起動確認
$ ps -ef | grep redis | grep -v grep redis 8529 1 0 10:51 ? 00:00:00 /usr/bin/redis-server 127.0.0.1:6379
4)Redis 動作確認
$ redis-cli -v redis-cli 4.0.10 $ redis-cli ping PONG
5)redis-cli で実験
$ redis-cli 127.0.0.1:6379> set key value OK 127.0.0.1:6379> get key "value"
6)php-pecl-redisのインストール
$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm $ sudo yum install --enablerepo=epel php-pecl-redis
7)Redisのiniファイル設定
$ sudo vi /etc/php.d/50-redis.ini session.save_handler = redis session.save_path = "tcp://localhost:6379"
以上