Redis インストール(仮想マシン編)

スポンサーリンク

RedisはスケーラブルなKVS(Key Value Store)です。よく比較対象とされるmemcachedに比べると、Redisはスケーラブルであり多数のデータ型を備えています。このページではRedisのインストール方法と簡単な動作確認方法をまとめます。

前提

公式ドキュメント

参考になる公式ドキュメントを以下に示します。

動作確認済環境

  • Rocky Linux 8.6
  • Ubuntu 18.04
  • MacOS 12.6.1
  • Windows Server 2022
  • Redis 5.0.3 (Rocky Linux パッケージ インストール)
  • Redis 7.0.0 (MacOS brew インストール)
  • Redis 7.0.5 (上記以外)

パッケージ インストール

Redhat系 Linuxの場合

インストール操作

RedisはほとんどのLinuxのディストリビューションに対してパッケージとして提供されています。Redhat系Linuxの場合は、以下のようなdnfコマンドでインストール可能です。

dnf install redis

パッケージインストールと同時にsystemdも設定されますので、以下のようなsystemctlコマンドで自動起動を設定できます。

systemctl enable redis.service --now

動作確認

Redisはデフォルトでtcp6379でListenします。tcp6379がLISTEN状態である事を確認します。

[root@linux010 ~]# netstat -ano | grep 6379
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      off (0.00/0/0)
[root@linux010 ~]# 

パッケージインストールと同時に、redis-cliと呼ばれるコマンドラインツールがインストールされます。以下のように引数なしでredis-cliを実行すると、127.0.0.1のtcp6379に対して接続を試みます。

[root@linux010 ~]# redis-cli 
127.0.0.1:6379> 

簡単なデータの書き込みをテストしてみましょう。以下のような操作で、キー「key01」に対して値「value01」を書き込みます。

127.0.0.1:6379> SET key01 value01
OK
127.0.0.1:6379> 

以下のような操作でキー「key01」に対して設定された値を確認できます。

127.0.0.1:6379> GET key01
"value01"
127.0.0.1:6379> 

以下操作で、redis-cliを終了します。

127.0.0.1:6379> exit
[root@linux010 ~]# 

Ubuntu/Debian Linuxの場合

インストール操作

Redis Serverをインストールします

curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

sudo apt-get update
sudo apt-get install redis

動作確認

Redis Serverへの疎通を確認します

azureuser@linux010:~$ redis-cli 
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> exit
azureuser@linux010:~$

MacOSの場合

インストール操作

brewコマンドでRedis Serverをインストールします

brew install redis

Redis Serverを起動します

brew services start

動作確認

Redis Serverへの疎通を確認します

admin@mac19 doc % redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> 

Windowsの場合

WSL2のインストール

Windows OSにRedis Serverをインストールするには、WSL2が必要です。WSL2のインストール方法はWindowsのバージョンによって異なりますが、Windows Server 2022の場合は、コマンドプロンプトまたはPowerShellに以下コマンドを入力するだけでインストールが可能です。

Windows Server 2022以外でWSL2を有効にする方法は「Windows Server 2022 に WSL をインストールする」を参照ください

wsl --install

WSL2のインストール

コマンド実行後にOS再起動を求められますので、画面下の再起動ボタンからWindows Serverの再起動を試みます。

Windows Serverの再起動

Ubuntuの起動

Windows Serverの再起動後、Ubuntuが自動的に起動されます。Ubuntuが起動するまでしばらくお待ちください。

Ubuntuのインストール待ち

Ubuntu起動後、初期ユーザ名と初期パスワードを入力します。任意の値で差し支えございません。

初期ユーザと初期パスワードの定義

Redis Serverのインストール

Ubuntuに対して以下のコマンドを実行し、Redis Serverをインストールします。

curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

sudo apt-get update
sudo apt-get install redis

Redis Serverのインストール

Redis Serverを起動します。

sudo service redis-server start

Redis Serverへの疎通を確認します。

user01@WIN-T43K7QIRSJF:~$ redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> exit
user01@WIN-T43K7QIRSJF:~$

Redis Serverへの疎通確認

ソース インストール

Redhat系 Linuxの場合

インストール操作

Redisインストール操作に必要なパッケージ群をインストールします。

group install "Development Tools"

ソースをダウンロードします。以下の操作例は最新の安定版をダウンロードする操作ですが、「redis-hashes git repository」から特定バージョンのソースをダウンロードする事もできます。

wget https://download.redis.io/redis-stable.tar.gz

ソースをコンパイルします。

tar -xzvf redis-stable.tar.gz
cd redis-stable
make

操作ログは以下の通りです。”LINK redis-server”などのログが出力される事を確認してください。

[root@linux010 redis-stable]# make

  <omitted>

    CC script.o
    CC functions.o
    CC function_lua.o
    CC commands.o
    LINK redis-server
    INSTALL redis-sentinel
    CC redis-cli.o
    CC redisassert.o
    CC cli_common.o
    LINK redis-cli
    CC redis-benchmark.o
    LINK redis-benchmark
    INSTALL redis-check-rdb
    INSTALL redis-check-aof

Hint: It's a good idea to run 'make test' ;)

make[1]: Leaving directory '/root/redis-stable/src'
[root@linux010 redis-stable]#

redisをインストールします。

make install

インストールが完了すると、/usr/local/bin/以下にredis-serverなどがインストールされます。

[root@linux010 ~]# ls -l /usr/local/bin/
total 27920
-rwxr-xr-x. 1 root root  6978920 Nov 19 13:06 redis-benchmark
lrwxrwxrwx. 1 root root       12 Nov 19 13:06 redis-check-aof -> redis-server
lrwxrwxrwx. 1 root root       12 Nov 19 13:06 redis-check-rdb -> redis-server
-rwxr-xr-x. 1 root root  7238208 Nov 19 13:06 redis-cli
lrwxrwxrwx. 1 root root       12 Nov 19 13:06 redis-sentinel -> redis-server
-rwxr-xr-x. 1 root root 14367728 Nov 19 13:06 redis-server
[root@linux010 ~]# 

動作確認

以下のような操作でredis-serverを起動します。

[root@linux010 ~]# redis-server &
[1] 38031
[root@linux010 ~]# 38031:C 19 Nov 2022 13:10:07.453 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
38031:C 19 Nov 2022 13:10:07.453 # Redis version=7.0.5, bits=64, commit=00000000, modified=0, pid=38031, just started
38031:C 19 Nov 2022 13:10:07.453 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
38031:M 19 Nov 2022 13:10:07.453 * Increased maximum number of open files to 10032 (it was originally set to 1024).
38031:M 19 Nov 2022 13:10:07.453 * monotonic clock: POSIX clock_gettime
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 7.0.5 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                  
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 38031
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           https://redis.io       
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

38031:M 19 Nov 2022 13:10:07.454 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
38031:M 19 Nov 2022 13:10:07.454 # Server initialized
38031:M 19 Nov 2022 13:10:07.454 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
38031:M 19 Nov 2022 13:10:07.454 * Loading RDB produced by version 7.0.5
38031:M 19 Nov 2022 13:10:07.454 * RDB age 3 seconds
38031:M 19 Nov 2022 13:10:07.454 * RDB memory usage when created 0.82 Mb
38031:M 19 Nov 2022 13:10:07.454 * Done loading RDB, keys loaded: 0, keys expired: 0.
38031:M 19 Nov 2022 13:10:07.454 * DB loaded from disk: 0.000 seconds
38031:M 19 Nov 2022 13:10:07.454 * Ready to accept connections

[root@linux010 ~]# 

redis-cliコマンドで接続可能な事を確認します。

[root@linux010 ~]# redis-cli 
127.0.0.1:6379> 
タイトルとURLをコピーしました