1. 安装
1.1 下载
下载:
wget https://download.redis.io/releases/redis-6.2.9.tar.gz
1.2 基础操作
解压:
tar zxf redis-6.2.9.tar.gz
创建对应目录:
mkdir /data/redis/data bin log etc
1.3 编译安装
注意:
- 在编译之前我们需要确认
gcc
版本,自redis 6.0.0
之后,编译redis
需要支持C11
特性,C11
特性在4.9
中被引入。Centos 7
默认gcc
版本为4.8.5
,所以需要升级gcc
版本。
安装配置:
1. 进入安装包
cd /data/redis/redis-6.2.9
2. 编译
make
3. 安装,下面是两种方式:
make install # 默认是安装到/usr/local/bin
make install PREFIX=/data/redis/bin # 指定安装路径
4. 拷贝配置文件
cp ./redis.conf /data/redis/etc/
5. 修改配置文件
vim /data/redis/etc/
------------------------------------------------------------------------------
# 将daemonize的值改为yes,设置后台启动
daemonize yes
# 配置允许所有ip都可以访问redis,将bind 127.0.0.1注释掉或者改为:0.0.0.0:
#bind 127.0.0.1
# 关闭保护模式
protected-mode no
# 配置访问密码
requirepass fo3Dxvosb0UW
# 修改log日志文件目录。
logfile /data/redis/log/redis.log
# 修改持久化存储目录
dir /data/redis/data/
------------------------------------------------------------------------------
6. 启动
/data/redis/bin/redis-server /data/edis/etc/redis.conf |tail -f /data/redis/log/redis.log
2. 主从
说明:
- 主从使用的程序无任何区别,区别在于配置文件的配置,所以只需要复制一份主的文件到从即可。
2.1.1 master
配置文件:
# 将daemonize的值改为yes,设置后台启动
daemonize yes
# 配置允许所有ip都可以访问redis,将bind 127.0.0.1注释掉或者改为:0.0.0.0:
#bind 127.0.0.1
# 关闭保护模式
protected-mode no
# 配置访问密码
requirepass fo3Dxvosb0UW
# 修改log日志文件目录。
logfile /data/redis/log/redis.log
# 修改持久化存储目录
dir /data/redis/data/
2.1.2 slave
配置文件:
# 将daemonize的值改为yes,设置后台启动
daemonize yes
# 配置允许所有ip都可以访问redis,将bind 127.0.0.1注释掉或者改为:0.0.0.0:
#bind 127.0.0.1
# 关闭保护模式
protected-mode no
# 配置访问密码
requirepass fo3Dxvosb0UW
# 主的密码
masterauth fo3Dxvosb0UW
# 修改log日志文件目录。
logfile /data/redis/log/redis.log
# 修改持久化存储目录
dir /data/redis/data/
# 配置主从,指定主的ip和端口
replicaof 127.0.0.1 6379
测试:
1. 登陆
./redis-cli -h 127.0.0.1 -p 6379
2. 验证
auth fo3Dxvosb0UW
3. 查看
info replication
-------------------------------
# Replication
role:slave
master_host:127.0.0.1
master_port:6379
master_link_status:up #是否up
master_last_io_seconds_ago:6
master_sync_in_progress:0
slave_read_repl_offset:210
slave_repl_offset:210
slave_priority:100
slave_read_only:1
replica_announced:1
connected_slaves:0
master_failover_state:no-failover
master_replid:aa35ca30ae665b03bcef4e38f4f53a9c5c7efa1d
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:210
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:210
----------------------------------
3. 哨兵
说明:
- 程序为:
redis-sentinel
、配置文件为:sentinel.conf
,都在redis包内。 - 哨兵会自动切换主从,主
down
掉后切换从为主,如果主再次上线就会变成从,而不会再次切换。 - 只需要拷贝
redis-sentinel
到应用目录即可,操作和redis主从一致。
配置文件:
# 端口
port 26379
# 后台运行
daemonize yes
# pid
pidfile "/var/run/redis-sentinel-1.pid"
# 日志路径
logfile "/data/redis/redis-sentinel-1/log/sentinel.log"
# 主redis mymaster是名称,后面是ip和端口 最后是几个哨兵投票才生效
sentinel monitor mymaster 127.0.0.1 6379 2
# 访问主的密码
sentinel auth-pass mymaster fo3Dxvosb0UW
# 多少毫秒后认为主挂掉
sentinel down-after-milliseconds mymaster 10000
# 注意每个哨兵的id不能重复
sentinel myid e8033e4060afc2b6b34078d290b22e1867390edc