Redis Linux 编译安装

编译安装

1. 下载

1
2
3
wget https://download.redis.io/releases/redis-6.2.7.tar.gz
tar -zvxf redis-6.2.7.tar.gz
yum install gcc

2. 编译安装

1
make && make install PREFIX=/opt/redis

3. 启动

1
mkdir /opt/redis/conf && cp redis.conf /opt/redis/conf && cd /opt/redis && ./bin/redis-server ./conf/redis.conf

4. 主从模式

主节点

1
2
3
4
5
6
7
8
bind 0.0.0.0                                # 允许所有主机联机
port 6379 # 工作端口
protected-mode no # 关闭保护模式
daemonize yes # 开启守护进程
logfile /opt/software/redis/logs/6379.log # 指定日志文件目录
dir /opt/software/redis/data/6379 # 指定本地数据存放位置
appendonly yes # 开启AOF持久化功能
requirepass ifan@2022 # 设置 redis 连接密码

从节点

1
2
3
4
5
6
# 在上面配置的基础上添加
port 6380 # 工作端口
logfile /opt/software/redis/logs/6380.log # 指定日志文件目录
dir /opt/software/redis/data/6380 # 指定本地数据存放位置
masterauth ifan@2022 # 设置slave 服务连接 master 的密码
replicaof 127.0.0.1 6379 # 指定要同步的Master节点IP和端口

5. 哨兵模式

主从节点不用关掉,哨兵模式只是一个监控和故障转移的服务

1
2
3
4
5
6
7
8
9
10
11
12
pidfile "/opt/redis/logs/sentinel/sentinel.pid"
protected-mode no
port 26379
daemonize yes
logfile "/opt/redis/logs/sentinel/sentinel.log"
dir "/opt/redis/data/sentinel/26379"
sentinel monitor mymaster 127.0.0.1 6380 3
sentinel auth-pass mymaster ifan@2022
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
sentinel deny-scripts-reconfig yes

6. 集群模式

1
2
3
4
5
6
protected-mode no                       # 关闭保护模式
port 7000 # 每个实例都要修改,redis监听端口,
daemonize yes # 后台模式
cluster-enabled yes # 开启群集功能
cluster-config-file nodes-7000.conf # 群集名称文件设置,每个实例都要修改
cluster-node-timeout 15000 # 集群超时时间设置
1
2
# 修改配置文件监听的端口后,启动每个实例
redis-server redis.conf
1
2
# 创建节点,cluster-replicas是从节点的个数,每个主节点,配置一个从节点
redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1

后记

总体来说,主从复制模式是只是防止单节点挂掉之后,整个缓存系统无法使用的情况(虽然从节点只能读,但是也比之前的单节点方案好了很多),而且如果系统只有读的需求的话,可以分散主节点的压力;哨兵模式是对之前主从模式的增强,可以自动化的切换故障节点。集群模式是主从模式的另一种横向扩充,实现了容量的增大,顺便集成了哨兵模式