Redis 4.0.11をCentOS 7.5(AWS EC2)へインストールしてコマンドラインでキー・バリューの操作確認
目次
概要
インメモリのキー・バリュー型データベースであるRedisをインストールします。 2018/09/26時点でEPELリポジトリに登録されているRedisのバージョンが 3.2.12 と古かったので、 rpmfind.net で検索して最新のバージョン4.0.11をインストールしました。 今回設定のチューニングは行っていません。
最終的にキー・バリューはJavaやPHPなどのプログラム言語から操作することを前提に考えていますが、 今回は簡易的にRedisをインストールするサーバのローカルで、コマンドラインツールの redis-cli を 使用して動作確認を行います。
構成
利用環境
サーバ環境はAWS(Amazon Web Services)のEC2インスタンスを利用しました。 サーバのスペックは以下のとおりです。 Amazonマシンイメージ(AMI)にはAWS Marketplaceで公開されている『CentOS 7 (x86_64) - with Updates HVM』を使用しています。 インストールと動作確認目的であればマシンスペックが低くても問題ないので、インスタンスタイプはt2.microを選択しています。
項目 | 内容 |
---|---|
AMI | CentOS 7 (x86_64) - with Updates HVM |
インスタンスタイプ | t2.micro |
vCPU | 1 |
メモリ | 1GiB |
ディスク | 汎用SSD(GP2) 8GiB |
リージョン | 日本 |
サーバ構成
OSバージョン
CentOS 7.5.1804 x86_64
ソフトウェア・パッケージ一覧
- redis-4.0.11-1.el7.remi.x86_64.rpm
環境構築
インストール
EPELリポジトリの設定をインストール
EPELリポジトリのRedisはインストールに使用しませんが、Redisの依存パッケージをインストールするために 必要となるので、EPELリポジトリの設定をインストールします。
$ sudo su - # yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm Loaded plugins: amazon-id, rhui-lb, search-disabled-repos epel-release-latest-7.noarch.rpm | 15 kB 00:00:00 Examining /var/tmp/yum-root-_IAvnn/epel-release-latest-7.noarch.rpm: epel-release-7-11.noarch Marking /var/tmp/yum-root-_IAvnn/epel-release-latest-7.noarch.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package epel-release.noarch 0:7-11 will be installed --> Finished Dependency Resolution Dependencies Resolved ======================================================================================================================== Package Arch Version Repository Size ======================================================================================================================== Installing: epel-release noarch 7-11 /epel-release-latest-7.noarch 24 k Transaction Summary ======================================================================================================================== Install 1 Package Total size: 24 k Installed size: 24 k Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : epel-release-7-11.noarch 1/1 Verifying : epel-release-7-11.noarch 1/1 Installed: epel-release.noarch 0:7-11 Complete!
yumでRedisをインストール
yumコマンドでRedisをインストールします。 EPELリポジトリのRedisではなく、rpmfind.netで配布されているRedisのRPMファイルを使用してインストールします。 そのため、yumのコマンドはinstallではなく、localinstallでRPMファイル指定で実行します。 これだけでインストールは完了です。
# yum -y localinstall https://rpmfind.net/linux/remi/enterprise/7/remi/x86_64/redis-4.0.11-1.el7.remi.x86_64.rpm Loaded plugins: amazon-id, rhui-lb, search-disabled-repos redis-4.0.11-1.el7.remi.x86_64.rpm | 580 kB 00:00:01 Examining /var/tmp/yum-root-_IAvnn/redis-4.0.11-1.el7.remi.x86_64.rpm: redis-4.0.11-1.el7.remi.x86_64 Marking /var/tmp/yum-root-_IAvnn/redis-4.0.11-1.el7.remi.x86_64.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package redis.x86_64 0:4.0.11-1.el7.remi will be installed --> Processing Dependency: libjemalloc.so.1()(64bit) for package: redis-4.0.11-1.el7.remi.x86_64 epel/x86_64/metalink | 9.7 kB 00:00:00 epel | 3.2 kB 00:00:00 rhui-REGION-client-config-server-7 | 2.9 kB 00:00:00 rhui-REGION-rhel-server-releases | 3.5 kB 00:00:00 rhui-REGION-rhel-server-rh-common | 3.8 kB 00:00:00 (1/10): epel/x86_64/group_gz | 88 kB 00:00:00 (2/10): epel/x86_64/updateinfo | 943 kB 00:00:00 (3/10): epel/x86_64/primary | 3.6 MB 00:00:00 (4/10): rhui-REGION-client-config-server-7/x86_64/primary_db | 1.2 kB 00:00:00 (5/10): rhui-REGION-rhel-server-releases/7Server/x86_64/group | 855 kB 00:00:00 (6/10): rhui-REGION-rhel-server-rh-common/7Server/x86_64/primary_db | 122 kB 00:00:00 (7/10): rhui-REGION-rhel-server-releases/7Server/x86_64/updateinfo | 2.8 MB 00:00:00 (8/10): rhui-REGION-rhel-server-rh-common/7Server/x86_64/group | 104 B 00:00:00 (9/10): rhui-REGION-rhel-server-rh-common/7Server/x86_64/updateinfo | 34 kB 00:00:00 (10/10): rhui-REGION-rhel-server-releases/7Server/x86_64/primary_db | 55 MB 00:00:01 epel 12687/12687 --> Running transaction check ---> Package jemalloc.x86_64 0:3.6.0-1.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ======================================================================================================================== Package Arch Version Repository Size ======================================================================================================================== Installing: redis x86_64 4.0.11-1.el7.remi /redis-4.0.11-1.el7.remi.x86_64 1.4 M Installing for dependencies: jemalloc x86_64 3.6.0-1.el7 epel 105 k Transaction Summary ======================================================================================================================== Install 1 Package (+1 Dependent package) Total size: 1.5 M Total download size: 105 k Installed size: 1.7 M Downloading packages: warning: /var/cache/yum/x86_64/7Server/epel/packages/jemalloc-3.6.0-1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY Public key for jemalloc-3.6.0-1.el7.x86_64.rpm is not installed jemalloc-3.6.0-1.el7.x86_64.rpm | 105 kB 00:00:00 Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Importing GPG key 0x352C64E5: Userid : "Fedora EPEL (7) <epel@fedoraproject.org>" Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5 Package : epel-release-7-11.noarch (installed) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : jemalloc-3.6.0-1.el7.x86_64 1/2 Installing : redis-4.0.11-1.el7.remi.x86_64 2/2 Verifying : jemalloc-3.6.0-1.el7.x86_64 1/2 Verifying : redis-4.0.11-1.el7.remi.x86_64 2/2 Installed: redis.x86_64 0:4.0.11-1.el7.remi Dependency Installed: jemalloc.x86_64 0:3.6.0-1.el7 Complete!
設定
Redisの自動起動設定と起動
上記手順でインストールすると、RedisがSystemdの管理対象となりますが、 初期状態では自動起動が無効になっています。 自動起動を有効にして起動を行います。
← # systemctl status redis.service ● redis.service - Redis persistent key-value database Loaded: loaded (/usr/lib/systemd/system/redis.service; disabled; vendor preset: disabled) ←自動起動無効 Drop-In: /etc/systemd/system/redis.service.d mqlimit.conf Active: inactive (dead) ←停止状態 # systemctl enable redis.service Created symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /usr/lib/systemd/system/redis.service. # systemctl status redis.service ● redis.service - Redis persistent key-value database Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled; vendor preset: disabled) ←自動起動有効 Drop-In: /etc/systemd/system/redis.service.d mqlimit.conf Active: inactive (dead) ←停止状態 # systemctl start redis.service # systemctl status redis.service ● redis.service - Redis persistent key-value database Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled; vendor preset: disabled) ←自動起動有効 Drop-In: /etc/systemd/system/redis.service.d mqlimit.conf Active: active (running) since Tue 2018-09-25 15:10:58 UTC; 3s ago ←起動状態 Main PID: 1442 (redis-server) CGroup: /system.slice/redis.service mq1442 /usr/bin/redis-server 127.0.0.1:6379 Sep 25 15:10:58 ip-172-31-28-241.ap-northeast-1.compute.internal systemd[1]: Starting Redis persistent key-value da..... Sep 25 15:10:58 ip-172-31-28-241.ap-northeast-1.compute.internal systemd[1]: Started Redis persistent key-value dat...e. Hint: Some lines were ellipsized, use -l to show in full.
動作確認
プロセスの起動確認
psコマンドでredisのプロセスが起動していることを確認します。
# ps -ef | grep redis | grep -v grep redis 1442 1 0 15:10 ? 00:00:00 /usr/bin/redis-server 127.0.0.1:6379
redis-cliコマンドでキー・バリューの操作確認
Redis標準のコマンドラインツールであるredis-cliを利用してRedisが保持するキー・バリューの操作を行ってみます。 以下の操作の流れにあまり深い意味はありませんが、キーの取得、キー・バリューのセット、キーからバリューの取得、キー・バリューの削除、全キー・バリューの削除を試します
# redis-cli ←対話モードの開始 127.0.0.1:6379> keys * ←全キーを表示するが空 (empty list or set) 127.0.0.1:6379> set key1 100 ←キー:key1、バリュー:100をセットする OK 127.0.0.1:6379> set key2 200 ←キー:key2、バリュー:200をセットする OK 127.0.0.1:6379> set key3 300 ←キー:key3、バリュー:300をセットする OK 127.0.0.1:6379> keys * ←全キーを表示するとkey1、key2、key3が表示される 1) "key2" 2) "key1" 3) "key3" 127.0.0.1:6379> get key2 ←キー:key2のバリューを表示する "200" 127.0.0.1:6379> del key1 ←キー:key1を削除する (integer) 1 127.0.0.1:6379> keys * ←全キーを表示するとkey1が表示されなくなる 1) "key2" 2) "key3" 127.0.0.1:6379> flushall ←全キーを削除する OK 127.0.0.1:6379> keys * ←全キーを表示するが空 (empty list or set) 127.0.0.1:6379> exit ←対話モードの終了
参考にしたサイト
rpmfind.netでRedisのRPMファイルを検索した結果のページです。