#author("2018-05-10T17:05:09+09:00","default:nowsky","nowsky")
#author("2018-05-10T17:12:13+09:00","default:nowsky","nowsky")
*Redis [#yef8d23a]
Redis(RemoteDictionaryServer)はインメモリデータベースを構築するソフトウェア。
全データをメモリ展開する為、ファイル書き込み型のRDBと比較して超高速動作する。
設定次第ではクエリ数に応じて自動的にファイルダンプする事も出来る為、
一定時間毎のデータ完全製を保つ事も可能となっている。
~
*参考サイト [#x15cd3cf]
-[[Redis:+https://redis.io/]]
-[[Redis Documentation:+https://redis.io/documentation]]
~
*インストール [#s7207449]
-&size(16){&font(b){1. インストール・起動準備};};
ディストリビューション毎にメンテナンスしているRedisでも基本機能は問題無い為、
今回はパッケージ管理でインストールを行う。
systemdスクリプトのシャットダウンコマンドは、Redisの待ち受けポートを設定している為、
環境に合わせてポート番号を変更する。
 # zypper install redis
 # cp /etc/redis/default.conf.example /etc/redis/default.conf
 # vi /usr/lib/systemd/system/redis*
 # vi /usr/lib/systemd/system/redis.service
 ---
 [Unit]
 Description=Redis is in-memory data structure store
 After=network.target
 
 [Service]
 LimitNOFILE=8192
 Type=notify
 User=redis
 Group=redis
 ExecStart=/usr/sbin/redis-server /etc/redis/redis.conf
 ExecStart=/usr/sbin/redis-server /etc/redis/default.conf
 ExecStop=/usr/bin/redis-cli -p 6379 shutdown
 
 [Install]
 WantedBy=multi-user.target
 
 # /etc/logrotate.d/redis
 ---
 /var/log/redis/*.log {
     weekly
     compress
     rotate 4
     notifempty
     copytruncate
     su redis redis
     missingok
 }

-&size(16){&font(b){2. 起動確認};};
サービスを起動させるには、他のプログラムと同じくsystemctlで実行する。
Redisにはサービスの起動状態を確認するコマンドが用意されている。
設定は環境に合わせて行うが、maxmemory設定を入れておかないとメモリを食い潰すので注意する。
 # vi /etc/redis/default.conf
 ---
 maxmemory 256MB
 
 # systemctl enable redis.service
 # systemctl start redis
 # redis-cli ping
 ---
 PONG