【Redis】第1节|Redis服务搭建

[复制链接]
发表于 2025-7-27 05:38:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
一、Redis 底子概念


  • 核心功能

    • 内存数据库,支持持久化(RDB/AOF)、主从复制、哨兵高可用、集群分片。
    • 常用场景:缓存、分布式锁、消息队列、计数器、排行榜等。
           
  • 安装环境

    • 依赖 GCC 环境(C语言编译),需先安装 gcc。
    • 关闭防火墙或配置端口放行(默认端口 6379)。
           
二、单机部署

1. 安装步调
  1. # 1. 创建目录并下载
  2. mkdir -p /opt/software/redis
  3. cd /opt/software/redis
  4. wget https://download.redis.io/redis-stable.tar.gz
  5. # 2. 解压并编译安装
  6. tar -xzf redis-stable.tar.gz
  7. cd redis-stable
  8. make install  # 生成可执行文件到 /usr/local/bin
  9. # 3. 验证安装
  10. ll /usr/local/bin | grep redis  # 检查是否生成 redis-server、redis-cli 等工具
复制代码
2. 配置与启动


  • 配置文件:修改 redis.conf (路径:/opt/software/redis/redis-stable)
  1. bind * -::*        # 允许所有IP连接
  2. daemonize yes      # 后台运行
  3. logfile "redis.log" # 日志日志路径
  4. dir "/opt/software/redis" # 工作目录
  5. requirepass "1qaz@WSX"  # 设置密码(可选)
  6. protected-mode no  # 关闭保护模式(允许远程连接)
复制代码

  • 启动与连接
  1. redis-server redis.conf  # 启动服务
  2. redis-cli -a 1qaz@WSX     # 带密码连接客户端
复制代码
三、主从部署(Master-Slave)

1. 核心概念


  • 单向复制:主节点(Master)写入,从节点(Slave)只读,数据自动同步。
  • 作用:数据冗余、读写分离、故障恢复底子。
2. 配置步调(从节点)
  1. # 修改从节点 redis.conf
  2. replicaof <master_ip> <master_port>  # 示例:replicaof 192.168.75.129 6379
  3. requirepass "1qaz@WSX"               # 主节点密码(若有)
  4. replica-read-only yes                 # 从节点只读
复制代码
3. 验证
  1. # 主节点查看从节点信息
  2. redis-cli info replication  # 输出中包含 slave0 信息(ip、端口、状态)
  3. # 从节点查看角色
  4. redis-cli info replication | grep role:slave
复制代码
四、哨兵部署(Sentinel)

1. 核心功能


  • 自动故障转移:监控监控主从节点,主节点故障时自动选举新主节点。
  • 集群模式:多个哨兵节点协同工作,避免单点故障。
2. 配置步调


  • 创建哨兵配置文件(sentinel.conf)
  1. protected-mode no       # 关闭保护模式
  2. daemonize yes           # 后台运行
  3. port 26379              # 哨兵端口
  4. logfile "sentinel.log"  # 日志日志路径
  5. dir "/opt/software/redis"
  6. # 监控监控主节点(mymaster 为主节点名称,2 为法定人数)
  7. sentinel monitor mymaster 192.168.75.129 6379 2
  8. sentinel down-after-milliseconds mymaster 30000  # 主节点超时时间(30秒)
  9. sentinel failover-timeout mymaster 180000       # 故障转移超时时间(180秒)
复制代码

  • 启动哨兵
  1. redis-sentinel sentinel.conf  # 或 redis-server sentinel.conf --sentinel
复制代码
3. 故障模拟
  1. # 停止主节点服务
  2. redis-cli shutdown -p 6379
  3. # 查看哨兵日志日志,确认新主节点选举
  4. tail -f sentinel.log
  5. # 验证新主节点
  6. redis-cli -p 6379 info replication | grep role:master
复制代码
五、集群部署(Cluster)

1. 核心概念


  • 分片存储:数据通过哈希槽(16384个)分布在多个主节点,突破单机内存限制。
  • 高可用性:每个主节点配备从节点,支持自动故障转移。
2. 配置准备(三主三从)


  • 节点规划
                        节点角色
                       
                        IP
                       
                        端口
                       
                        主节点
                       
                        192.168.75.129
                       
                        6379
                       
                        从节点
                       
                        192.168.75.129
                       
                        6380
                       
                        主节点
                       
                        192.168.75.131
                       
                        6379
                       
                        从节点
                       
                        192.168.75.131
                       
                        6380
                       
                        主节点
                       
                        192.168.75.132
                       
                        6379
                       
                        从节点
                       
                        192.168.75.132
                       
                        6380
                       


  • 配置文件(以 6379 主节点为例)
  1. cluster-enabled yes       # 开启集群模式
  2. cluster-node-timeout 5000 # 节点超时时间(5秒)
  3. cluster-config-file nodes-6379.conf # 集群配置文件(自动生成)
  4. port 6379
  5. appendonly yes            # 开启AOF持久化
复制代码
3. 启动与初始化集群
  1. # 启动所有节点
  2. for port in 6379 6380; do
  3.   redis-server ./cluster/redis_${port}.conf
  4. done
  5. # 创建集群(--cluster-replicas 1 表示每个主节点配1个从节点)
  6. redis-cli --cluster create \
  7.   192.168.75.129:6379 192.168.75.131:6379 192.168.75.132:6379 \
  8.   192.168.75.129:6380 192.168.75.131:6380 192.168.75.132:6380 \
  9.   --cluster-replicas 1
复制代码
4. 数据读写
  1. # 连接集群(-c 开启自动路由)
  2. redis-cli -c -p 6379
  3. # 写入数据(自动路由到目标节点)
  4. set key1 value1  # 若键属于其他节点,返回 MOVED 错误并提示目标节点
复制代码
六、关键配置文件路径

                        部署模式
                       
                        配置文件路径
                       
                        阐明
                       
                        单机
                       
                        /opt/software/redis/redis-stable/redis.conf
                       
                        单机配置
                       
                        主从
                       
                        从节点 redis.conf 增长 replicaof
                       
                        主节点无需修改
                       
                        哨兵
                       
                        /opt/software/redis/redis-stable/sentinel.conf
                       
                        哨兵集群配置
                       
                        集群
                       
                        /opt/software/redis/cluster/redis_*.conf
                       
                        每个节点独立配置文件
                       
七、常用下令汇总

                        操作类型
                       
                        下令示例
                       
                        阐明
                       
                        启动服务
                       
                        redis-server [config-file]
                       
                        带配置文件启动
                       
                        连接客户端
                       
                        redis-cli -h IP -p PORT -a PASSWORD
                       
                        连接 Redis 实例
                       
                        查看状态
                       
                        redis-cli info [section]
                       
                        查看服务器状态(如 replication)
                       
                        关闭服务
                       
                        redis-cli shutdown [-p PORT]
                       
                        安全关闭 Redis 实例
                       
                        集群管理
                       
                        redis-cli --cluster create/info/nodes
                       
                        集群创建、信息查询、节点列表
                       
八、留意事项


  • 端口冲突:确保各节点端口未被占用(主节点默认 6379,哨兵默认 26379)。
  • 防火墙设置:开放所有节点端口(6379、6380、26379 等)。
  • 配置持久化:生产环境发起同时开启 RDB 和 AOF,避免数据丢失。
  • 监控监控工具:利用 redis-cli monitor、info 下令或第三方工具(如 Prometheus)监控集群状态。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表