redis的模式:单机,主从复制,哨兵,集群
单机模式:启动一个redis服务器就是一个单机
使用命令行客户端redis-cli执行redis命令,设置一个键值对,然后获取它的值
哨兵模式:
一、安装Redis
如果尚未安装Redis,可以使用以下命令进行安装:
sudo apt update sudo apt install redis-server
安装完成后,Redis的配置文件通常位于/etc/redis/redis.conf
,Redis服务将自动启动。
二、配置Redis主节点
-
编辑配置文件:
-
使用文本编辑器打开Redis主节点的配置文件(默认为
/etc/redis/redis.conf
)。 -
设置
bind
参数以允许从节点和哨兵节点的IP地址访问,或者设置为0.0.0.0
以允许所有IP地址访问。 -
将
protected-mode
设置为no
以允许远程连接。 -
设置
daemonize
为yes
以使Redis作为守护进程运行。 -
(可选)设置密码保护,通过添加
requirepass
参数并设置密码。
示例配置(仅列出关键部分):
bind 0.0.0.0 protected-mode no daemonize yes requirepass yourpassword
-
-
启动Redis主节点:
-
如果Redis服务尚未运行,可以使用
sudo systemctl start redis
命令启动Redis服务。 -
或者,你可以直接通过
redis-server /etc/redis/redis.conf
命令启动Redis,但这不会使Redis在系统启动时自动运行。
-
三、配置Redis从节点
-
复制配置文件:
-
复制Redis主节点的配置文件到新的位置,例如
/etc/redis/redis-slave.conf
。 -
修改配置文件中的端口号(例如,将
port 6379
改为port 6380
),以避免端口冲突。 -
添加
slaveof
指令,指定主节点的IP地址和端口号。 -
如果主节点设置了密码,还需要添加
masterauth
参数并设置相应的密码。
示例配置(仅列出关键部分):
port 6380 slaveof your_master_ip 6379 masterauth yourpassword
-
-
启动Redis从节点:
-
使用修改后的配置文件启动Redis从节点服务,例如
redis-server /etc/redis/redis-slave.conf
。
-
四、配置哨兵节点
-
创建哨兵配置文件:
-
在
/etc/redis
目录下创建一个新的哨兵配置文件,例如sentinel.conf
。 -
编辑该文件,设置哨兵监听的端口(默认为26379),但你可以根据需要更改它。
-
使用
sentinel monitor
指令指定哨兵监控的主节点名称、IP地址、端口号以及判定主节点不可用的哨兵数量阈值(通常为哨兵总数的半数加1)。 -
如果主节点设置了密码,还需要使用
sentinel auth-pass
指令指定主节点的密码。 -
设置其他哨兵参数,如故障检测时间、故障转移超时时间等。
示例配置(仅列出关键部分):
port 26379 sentinel monitor mymaster your_master_ip 6379 2 sentinel auth-pass mymaster yourpassword sentinel down-after-milliseconds mymaster 30000 sentinel failover-timeout mymaster 180000
-
-
启动哨兵节点:
-
使用哨兵配置文件启动哨兵服务,例如
redis-sentinel /etc/redis/sentinel.conf
。 -
可以为每个哨兵节点重复上述步骤,但每个哨兵节点的配置文件应位于不同的位置或具有不同的端口号。
-
五、验证配置
-
检查Redis主从复制状态:
-
使用
redis-cli -h your_master_ip -p 6379 -a yourpassword
连接到主节点。 -
执行
INFO REPLICATION
命令查看复制状态,确认从节点已正确连接到主节点。
-
-
检查哨兵状态:
-
使用
redis-cli -h your_sentinel_ip -p 26379
连接到哨兵节点。 -
执行
SENTINEL masters
命令查看哨兵监控的主节点信息。
-
-
模拟故障转移(可选):
-
停止主节点
-