EC2インスタンスでredis使ってみる

はじめに

redisの勉強をしたかったので、試してみた。
Elasticacheも選択肢にあったけど、まずは自分で設定してみる。

redisのインストール

CentOS、RHEL、または Amazon Linux を実行している EC2 インスタンスの EPEL リポジトリを有効にする
# amazon-linux-extras install epel -y
# yum-config-manager --enable epel
# yum install redis

# redis-server -v
Redis server v=3.2.12 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=7897e7d0e13773f

まずは使ってみる

redis-server側のセキュリティグループでredis用ポートは許可しておく。

redis-serverの起動

redis-serverの起動。
フォアグラウンドで稼働する。止めるときはCtrl+C

# redis-server
323:C 23 Mar 04:38:33.442 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
                _._
           _.-``__ ''-._
      _.-``    `.  `_.  ''-._           Redis 3.2.12 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 323
  `-._    `-._  `-./  _.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |           http://redis.io
  `-._    `-._`-.__.-'_.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |
  `-._    `-._`-.__.-'_.-'    _.-'
      `-._    `-.__.-'    _.-'
          `-._        _.-'
              `-.__.-'

systemd化

# vi /etc/systemd/system/redis.service
[Unit]
Description = redis daemon

[Service]
ExecStart = /bin/redis-server /etc/redis.conf
Restart = always
Type = simple

[Install]
WantedBy = multi-user.target

# systemctl daemon-reload
# systemctl start redis
# systemctl status redis

redis-cliからの接続

protected-modeが有効化だから拒否られた

# redis-cli -h 172.31.40.15 -p 6379 ping
(error) DENIED Redis is running in protected mode because protected mode is enabled,

redis-server側のコンフィグファイルを修正

# vi /etc/redis.conf
# bind 127.0.0.1 コメントアウト
protected-mode no

# systemctl restart redis

再度、クライアントから確認

# redis-cli -h 172.31.40.15 -p 6379 ping
PONG

# redis-cli -h 172.31.40.15 -p 6379
172.31.40.15:6379> set key1 hoge
OK
172.31.40.15:6379> get key1
"hoge"
172.31.40.15:6379> set key1 huga
OK
172.31.40.15:6379> get key1
"huga"

コンフィグファイル

中身を見てみる

# Bindするネットワークインタフェース
# ローカルからしか受け付けない
bind 127.0.0.1

protected-mode yes

port 6379

tcp-backlog 511


timeout 0

tcp-keepalive 300


daemonize no

supervised no

pidfile /var/run/redis_6379.pid

loglevel notice

logfile /var/log/redis/redis.log




databases 16


save 900 1
save 300 10
save 60 10000

stop-writes-on-bgsave-error yes

rdbcompression yes

rdbchecksum yes

dbfilename dump.rdb

dir /var/lib/redis




slave-serve-stale-data yes

slave-read-only yes

repl-diskless-sync no

repl-diskless-sync-delay 5



repl-disable-tcp-nodelay no



slave-priority 100













appendonly no


appendfilename "appendonly.aof"


appendfsync everysec


no-appendfsync-on-rewrite no


auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

aof-load-truncated yes


lua-time-limit 5000










slowlog-log-slower-than 10000

slowlog-max-len 128


latency-monitor-threshold 0


notify-keyspace-events ""


hash-max-ziplist-entries 512
hash-max-ziplist-value 64

list-max-ziplist-size -2

list-compress-depth 0

set-max-intset-entries 512

zset-max-ziplist-entries 128
zset-max-ziplist-value 64

hll-sparse-max-bytes 3000

activerehashing yes

client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60

hz 10

aof-rewrite-incremental-fsync yes

勉強になった参考URL

www.slideshare.net/yujiotani16/redis-76504393

コメント

タイトルとURLをコピーしました