安装手册
单机安装
使用Docker
- 直接创建一个redis容器
docker run --name redis -p 6379:6379 -d redis
- 挂载数据目录
docker run --name redis -v /your/path/data:/data -d redis redis-server --save 60 1 --loglevel warning
- 挂载配置文件和数据目录
docker run --name redis /your/path/redis.conf:/usr/local/etc/redis/redis.conf -v /your/path/data:/data -p 6379:6379 -d redis
使用包管理器
APT
在Debian 13上,默认软件源已经包含了 redis,使用sudo apt install -y redis即可。如果需要安装最新版,可以参照以下步骤
sudo apt-get install lsb-release curl gpg
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
sudo chmod 644 /usr/share/keyrings/redis-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
sudo apt-get update
sudo apt-get install redis
sudo systemctl enable redis-server
sudo systemctl start redis-server
源码编译
nil
主从集群
Redis 主从复制(Replication)是一种将一个 Redis 服务器(主节点,Master)的数据自动复制到一个或多个 Redis 服务器(从节点,Slave)的机制。
一般来说从节点不要超过10个。因为主节点需要向从节点同步写操作(发送 RDB 快照 + 命令流)。从节点越多,主节点的网络和 CPU 负担越重。若需更多副本,可考虑级联复制(从节点再作为其他从节点的主)。
主节点
配置信息
# 绑定 IP(若需远程访问,不能只绑定 127.0.0.1)
bind 0.0.0.0
# 关闭保护模式(或设置密 码)
protected-mode no
# 设置密码(可选,但建议设置)
requirepass your_master_password
从节点
# 指定主节点的 IP 和端口
replicaof 192.168.1.10 6379
# 如果主节点设置了密码,需配置以下项
masterauth your_master_password
# (可选)设置从节点只读(默认就是只读)
replica-read-only yes
# 绑定 IP(确保可被访问)
bind 0.0.0.0
protected-mode no
验证
- 主节点查看从节点信息
redis-cli -h 192.168.1.10 info replication
输出应包含
role:master
connected_slaves:1
slave0:ip=192.168.1.11,port=6379,state=online,offset=...,lag=0
- 从 节点查看角色
redis-cli -h 192.168.1.11 info replication
输出应包含
role:slave
master_host:192.168.1.10
master_port:6379
master_link_status:up
哨兵
Redis Sentinel(哨兵)是 Redis 官方提供的高可用(HA)解决方案,用于监控 Redis 主从集群,并在主节点(Master)发生故障时自动进行故障转移(Failover),将一个从节点(Replica)提升为新的主节点,从而保证服务持续可用。
哨兵的核心功能:
- 监控(Monitoring):持续检查主节点和从节点是否正常运行。
- 通知(Notification):当被监控的 Redis 实例出现问题时,可通过 API 通知管理员。
- 自动故障转移(Automatic Failover):主节点宕机时,自动选举一个从节点升级为主节点,并更新其他从节点的复制目标。
- 配置提供者(Configuration Provider):客户端可通过哨兵获取当前的主节点地址(服务发现)。
哨兵节点数量建议奇数个,避免脑裂问题。常见部署方案为一主两从三哨兵, 哨兵可以和主从部署在一起,这样可以节省三台服务器; 也可以独立部署哨兵, 让生产环境更高可用。
配置主从复制
确保主从关系存在
创建哨兵
在每台哨兵服务器创建配置文件snetinel.conf
# 哨兵监听地址(允许远程连接)
bind 0.0.0.0
port 26379
# 后台运行
daemonize yes
# 日志文件
logfile "/var/log/redis/sentinel.log"
# 监控名为 mymaster 的主节点,IP 192.168.1.10,端口 6379
# 2 表示至少需要 2 个哨兵同意才认为主节点“客观下线”(quorum)
sentinel monitor mymaster 192.168.1.10 6379 2
# 主节点密码(如果设置了 requirepass)
sentinel auth-pass mymaster your_password
# 主节点宕机后,多久(毫秒)认为“主观下线”(默认 30 秒)
sentinel down-after-milliseconds mymaster 30000
# 故障转移时,最多允许几个从节点同时同步新主(避免网络拥塞)
sentinel parallel-syncs mymaster 1
# 故障转移超时时间(毫秒)
sentinel failover-timeout mymaster 180000
启动哨兵
redis-sentinel /etc/redis/sentinel.conf
# 或
redis-server /etc/redis/sentinel.conf --sentinel