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

一、Redis 基础概念

  1. 核心功能
    • 内存数据库,支持持久化(RDB/AOF)、主从复制、哨兵高可用、集群分片。
    • 常用场景:缓存、分布式锁、消息队列、计数器、排行榜等。
  2. 安装环境
    • 依赖 GCC 环境(C语言编译),需先安装 gcc
    • 关闭防火墙或配置端口放行(默认端口 6379)。

二、单机部署

1. 安装步骤
# 1. 创建目录并下载
mkdir -p /opt/software/redis
cd /opt/software/redis
wget https://download.redis.io/redis-stable.tar.gz# 2. 解压并编译安装
tar -xzf redis-stable.tar.gz
cd redis-stable
make install  # 生成可执行文件到 /usr/local/bin# 3. 验证安装
ll /usr/local/bin | grep redis  # 检查是否生成 redis-server、redis-cli 等工具
2. 配置与启动
  • 配置文件:修改 redis.conf (路径:/opt/software/redis/redis-stable
bind * -::*        # 允许所有IP连接
daemonize yes      # 后台运行
logfile "redis.log" # 日志路径
dir "/opt/software/redis" # 工作目录
requirepass "1qaz@WSX"  # 设置密码(可选)
protected-mode no  # 关闭保护模式(允许远程连接)
  • 启动与连接
redis-server redis.conf  # 启动服务
redis-cli -a 1qaz@WSX     # 带密码连接客户端

三、主从部署(Master-Slave)

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

四、哨兵部署(Sentinel)

1. 核心功能
  • 自动故障转移:监控主从节点,主节点故障时自动选举新主节点。
  • 集群模式:多个哨兵节点协同工作,避免单点故障。
2. 配置步骤
  1. 创建哨兵配置文件sentinel.conf
protected-mode no       # 关闭保护模式
daemonize yes           # 后台运行
port 26379              # 哨兵端口
logfile "sentinel.log"  # 日志路径
dir "/opt/software/redis"# 监控主节点(mymaster 为主节点名称,2 为法定人数)
sentinel monitor mymaster 192.168.75.129 6379 2
sentinel down-after-milliseconds mymaster 30000  # 主节点超时时间(30秒)
sentinel failover-timeout mymaster 180000       # 故障转移超时时间(180秒)
  1. 启动哨兵
redis-sentinel sentinel.conf  # 或 redis-server sentinel.conf --sentinel
3. 故障模拟
# 停止主节点服务
redis-cli shutdown -p 6379# 查看哨兵日志,确认新主节点选举
tail -f sentinel.log# 验证新主节点
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 主节点为例)
cluster-enabled yes       # 开启集群模式
cluster-node-timeout 5000 # 节点超时时间(5秒)
cluster-config-file nodes-6379.conf # 集群配置文件(自动生成)
port 6379
appendonly yes            # 开启AOF持久化
3. 启动与初始化集群
# 启动所有节点
for port in 6379 6380; doredis-server ./cluster/redis_${port}.conf
done# 创建集群(--cluster-replicas 1 表示每个主节点配1个从节点)
redis-cli --cluster create \192.168.75.129:6379 192.168.75.131:6379 192.168.75.132:6379 \192.168.75.129:6380 192.168.75.131:6380 192.168.75.132:6380 \--cluster-replicas 1
4. 数据读写
# 连接集群(-c 开启自动路由)
redis-cli -c -p 6379# 写入数据(自动路由到目标节点)
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

集群创建、信息查询、节点列表

八、注意事项

  1. 端口冲突:确保各节点端口未被占用(主节点默认 6379,哨兵默认 26379)。
  2. 防火墙设置:开放所有节点端口(6379638026379 等)。
  3. 配置持久化:生产环境建议同时开启 RDB 和 AOF,避免数据丢失。
  4. 监控工具:使用 redis-cli monitorinfo 命令或第三方工具(如 Prometheus)监控集群状态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/web/81344.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GitLab-CI简介

概述 持续集成&#xff08;CI&#xff09;和 持续交付(CD) 是一种流行的软件开发实践&#xff0c;每次提交都通过自动化的构建&#xff08;测试、编译、发布&#xff09;来验证&#xff0c;从而尽早的发现错误。 持续集成实现了DevOps, 使开发人员和运维人员从繁琐的工作中解…

FFmpeg解码器配置指南:为什么--enable-decoders不能单独使用?

FFmpeg解码器配置指南 在FFmpeg的编译配置过程中&#xff0c;许多开发者会遇到关于解码器配置的困惑。特别是--enable-decoders这个选项&#xff0c;很多人误以为启用它就能自动包含所有解码器。本文将深入解析FFmpeg解码器配置的机制&#xff0c;并通过实际测试展示正确的配置…

C++多态与虚函数

C++多态与虚函数详解 多态(Polymorphism)是 C++ 面向对象编程的重要特性,通过统一的接口实现不同的行为。虚函数(Virtual Function)是实现运行时多态的核心机制。以下从多态的构成条件、意义、析构函数的虚函数化、纯虚函数和抽象类,以及虚函数表的底层实现依次介绍。 1.…

游戏引擎学习第313天:回到 Z 层级的工作

回顾并为今天的内容定下基调 昨天我们新增了每个元素级别的排序功能&#xff0c;并且采用了一种我们认为挺有意思的方法。原本计划采用一个更复杂的实现方式&#xff0c;但在中途实现的过程中&#xff0c;突然意识到其实有个更简单的做法&#xff0c;于是我们就改用了这个简单…

ODBC简介

ODBC&#xff08;Open Database Connectivity&#xff09;是一个由 Microsoft 制定的标准接口&#xff0c;允许不同的应用程序通过统一的方式访问各种数据库系统。 &#x1f9e0; 简单理解&#xff1a; ODBC 就像是 “翻译官”&#xff0c;在应用程序&#xff08;如 Excel、Py…

RK3588 buildroot QT 悬浮显示(OSD)

概述 主要介绍在rockchip rk3588 buildroot中 运行QT程序。需要结合之前的文档:认识DRM显示系统、buildroot中QT开发指导、以及如何集成QT库到3588板子上。 场景:在linux开发中,需要使用QT开发程序,做OSD显示。(如下图显示,显示器播放视频,QT页面悬浮于视频上方,显示…

sockaddr_in

在网络编程中&#xff0c;sockaddr_in 结构体是用于表示 IPv4 地址的套接字地址结构。它定义在 <netinet/in.h> 头文件中&#xff0c;是 sockaddr 结构体的一个特化版本&#xff0c;专门用于处理 IPv4 地址。 下面是 sockaddr_in 结构体的典型定义&#xff1a; struct …

有铜半孔工艺的制造难点与工艺优化

技术难点剖析 有铜半孔工艺在制造过程中面临多重挑战&#xff0c;主要集中在材料加工精度、孔壁完整性及良率控制三个方面&#xff1a; 铜层翘起与毛刺残留 半孔成型时&#xff0c;铣刀高速切割可能导致孔壁铜层被拉扯&#xff0c;产生翘起或残留铜屑&#xff0c;影响导电性能…

云原生安全:网络协议TCP详解

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 &#xff08;注&#xff1a;文末附可视化流程图与专有名词说明表&#xff09; 1. 基础概念 TCP&#xff08;Transmission Control Protocol&#xff09;是…

Dify中的Extension插件开发例子:以neko为例

本文使用Dify v1.0.0-beta.1版本。以neko为例&#xff0c;介绍Dify中的Extension插件开发例子。需要说明的是Dify官方要求Python≥3.12&#xff0c;但发现本地PyCharm调试Python≥3.12有问题&#xff0c;就采用的Python 3.11版本。 一.Extension插件项目创建 1.填写插件信息 …

Linux中logger命令的使用方法详解

文章目录 一、基础语法二、核心功能选项三、‌设施与优先级对照‌1. 常用设施&#xff08;Facility&#xff09;2. 优先级&#xff08;Priority&#xff09;从低到高&#xff1a;3. 组合示例‌ 四、典型使用场景1. 记录简单消息2. 带标签和优先级3. 记录命令输出4. 发送到远程服…

【图论 并集查找】P3671 [USACO17OPEN] Where‘s Bessie? S|普及+

本文涉及知道点 C图论 C并集查找 预计2025年5月29号 7:00发布 P3671 [USACO17OPEN] Where’s Bessie? S 题目描述 Farmer John 一直以精通技术而闻名&#xff0c;他正在测试他的新型无人机搭载的奶牛定位相机。这款相机据说可以拍摄他的田地并自动确定奶牛的位置。不幸的是…

《软件工程》第 13 章 - 软件维护

知识思维导图 13.1 软件维护与进化的概念 1. 核心概念 软件维护&#xff1a;软件交付使用后&#xff0c;为纠正错误、改善性能或其他属性而进行的修改过程软件进化&#xff1a;随着时间推移&#xff0c;软件系统为适应环境变化和用户需求而不断演变的过程 2. 维护类型&#…

AI Agent助力医疗科研突破

最近&#xff0c;AI Agent在医疗科研领域的突破格外引人注目。非营利组织Future House宣布其多智能体系统Robin在约10周内&#xff0c;为干性年龄相关性黄斑变性&#xff08;dAMD&#xff09;发现了一种潜在新疗法&#xff0c;这一成果展示了AI在加速科学发现&#xff0c;特别是…

(高级)高级前端开发者指南:框架运用与综合实战

当您已经掌握了HTML5、CSS3和JavaScript的基础知识后&#xff0c;接下来就是学习现代前端框架和性能优化的高级阶段。本文将重点介绍Vue.js/React的组件化开发、状态管理和路由配置&#xff0c;以及前端性能优化的核心技巧。通过丰富的代码示例和详细讲解&#xff0c;帮助您在实…

提示词写的好,用VSCODE+python+Claude3.5开发edge扩展插件(2)

导入文件夹: 导入扩展成功: 通过网盘分享的文件&#xff1a;Meteor New Tab.zip 链接: https://pan.baidu.com/s/1fXOhuoYboO_Afzqhuo5Eew?pwdxeix 提取码: xeix edge收藏夹书签过多时在扩展显示可以搜索筛选,

CUDA加速的线性代数求解器库cuSOLVER

cuSOLVER是NVIDIA提供的GPU加速线性代数库&#xff0c;专注于稠密和稀疏矩阵的高级线性代数运算。它建立在cuBLAS和cuSPARSE之上&#xff0c;提供了更高级的线性代数功能。 cuSOLVER主要功能 1. 稠密矩阵运算 矩阵分解: LU分解 (gesvd) QR分解 (geqrf) Cholesky分解 (potrf…

Redis之金字塔模型分层架构

在分布式系统架构中&#xff0c;Redis 凭借其卓越的读写性能成为缓存层的核心组件。但如何精准判断数据是否适合进入 Redis&#xff0c;以及如何科学量化 “高频查询” 标准&#xff0c;始终是高性能系统设计的关键课题。 数据访问特征金字塔模型是用于评估数据是否适合进入 R…

JVM 垃圾回收机制深度解析(含图解)

JVM 垃圾回收机制深度解析&#xff08;含图解&#xff09; 一、垃圾回收整体流程 垃圾回收图解 #mermaid-svg-KPtxlwWntQx8TOj3 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-KPtxlwWntQx8TOj3 .error-icon{fill…

MySQL快速入门篇---联合查询

一、什么是联合查询 1.1、概念 联合查询是SQL中用于合并多个SELECT语句结果集的操作。条件是被合并的结果集列数相同并且数据类型兼容。也可以说一次查询涉及两张或两张以上的表&#xff0c;就称为联合查询。 1.2、为什么要使用联合查询 如果数据被拆分到多个表中&#xff…