Redis入门保姆级笔记

发布时间:2026/9/26 6:34:38

Redis入门保姆级笔记 文章目录前言一、先搞懂好好的MySQL不用为啥要学NoSQL1.1 技术栈的三层境界1.2 Web发展逼出来的两座大山Web1.0时代单机就能打Web2.0时代性能瓶颈直接炸了1.3 CPU压力解法Nginx负载均衡但Session成了难题1.4 IO压力解法缓存才是终极答案1.5 NoSQL到底是什么1.6 常见NoSQL三兄弟对比二、Redis登场内存数据库的天花板2.1 Redis是怎么来的作者的八卦小故事2.2 Redis核心特性2.3 Redis能干嘛7大经典场景三、CentOS7安装Redis 手把手踩坑指南3.1 前期准备3.2 安装全步骤第一步解压安装包第二步编译新手最容易翻车的一步第三步执行安装3.3 安装目录里都是啥3.4 启动方式别用前台启动不推荐前台启动推荐后台守护进程启动3.5 关闭服务的正确姿势3.6 远程连接必做开放端口修改配置3.7 冷知识小彩蛋总结前言学习Redis之前要先有一定的Linux基础哦~提示以下是本篇文章正文内容下面案例可供参考一、先搞懂好好的MySQL不用为啥要学NoSQL1.1 技术栈的三层境界我们学过的技术其实可以分成三类对应项目开发的三个阶段解决功能性问题JavaSE、Servlet、JDBC、Linux这些能用代码把业务做出来就行解决扩展性问题Spring、SpringMVC、MyBatis这些框架加新功能不用大改老代码规范开发解决性能问题NoSQL、Nginx、MQ、ES用户量上来了系统不能卡崩前两个阶段我们都已经接触过了现在学的NoSQL就是专门用来扛高并发、海量数据的「性能buff」。1.2 Web发展逼出来的两座大山Web1.0时代单机就能打早年网站用户少一台Web服务器一台MySQL服务器就能搞定所有请求数据量小、访问量低怎么玩都不卡。Web2.0时代性能瓶颈直接炸了随着用户暴涨再加上手机端普及系统直接面临两大压力CPU内存压力一台Web服务器扛不住海量用户请求IO压力数据越积越多每次都查数据库磁盘IO直接打满MySQL卡成PPT1.3 CPU压力解法Nginx负载均衡但Session成了难题Web服务器扛不住那就多部署几台用Nginx做负载均衡把请求分摊到不同服务器上。但很快就出现了经典问题Session不共享。用户第一次请求落到服务器A登录信息存在A的Session里第二次请求被分到服务器BB根本不认识这个用户直接让重新登录体验直接崩了。当时有三个解决方案各有各的坑方案做法致命缺点存在Cookie里把用户信息放浏览器Cookie每次请求带过来敏感数据不安全容易被篡改Session复制每台服务器互相同步Session数据冗余严重服务器越多越浪费统一存缓存数据库所有Session都放NoSQL里所有服务器共享几乎没缺点读写还快业界最终选了第三种方案——用内存级的NoSQL数据库统一存Session这也是NoSQL最经典的应用场景之一。1.4 IO压力解法缓存才是终极答案数据库查得慢那就把频繁查的数据提前放到更快的地方。方案1数据库读写分离、分库分表。改动大还会破坏业务逻辑成本很高方案2热点数据放缓存。直接从内存读速度是磁盘的上百倍90%的请求都不用碰数据库这也是我们学Redis最核心的目的用缓存扛住大部分读请求保护MySQL。1.5 NoSQL到底是什么NoSQL Not Only SQL直译是「不仅仅是SQL」泛指所有非关系型数据库。和MySQL这种关系型数据库比它有几个鲜明特点不遵循传统SQL标准没有表、行、列的概念大多不支持ACID事务牺牲强一致性换极致性能读写速度远超SQL数据库天生适配高并发扩展性极强加节点就能扩容ACID是什么原子性 Atomic不可分割事务是最小执行单元内部操作不可拆分全成功 / 全回滚。转账例子扣款、加钱要么都完成要么全部撤销。一致性 Consistency事务执行前后数据库的数据约束、业务规则始终合法。转账前后A 余额 B 余额 总和不变不会凭空多 / 少钱库存不能出现负数。隔离性 Isolation多个事务并发执行时各个事务之间互相隔离互不干扰一个事务看不到另一个未提交的脏数据。两个人同时给同一账户转账彼此操作互不干扰不会错乱。持久性 Durability事务提交 (commit) 之后对数据的修改永久写入磁盘就算数据库宕机、断电数据也不会丢失。转账成功后服务器突然关机再次开机转账记录依然存在。适用场景高并发读写、海量数据存储、需要灵活扩容的业务不适用场景需要严格事务支持、复杂多表关联查询、结构化数据存储1.6 常见NoSQL三兄弟对比入门阶段最常听到的三个NoSQL数据库区别其实很清晰数据库特点定位Memcache只支持简单key-value不持久化数据类型单一早期缓存方案现在基本被Redis取代Redis支持多种数据结构支持持久化备份功能最全企业级缓存首选万金油选手MongoDB文档型数据库存JSON格式查询功能强存非结构化数据替代部分MySQL场景我们课程重点学Redis毕竟现在后端面试、工作基本都绕不开它。二、Redis登场内存数据库的天花板2.1 Redis是怎么来的作者的八卦小故事Redis的作者是意大利程序员antirez早年他做了一个网站统计访客记录的项目叫LLOOGG.COM核心需求就是每个网站对应一个列表新记录从头部加超过长度就把尾部最早的删掉先进先出。一开始用MySQL做结果用户多了之后列表的push、pop操作太频繁磁盘IO直接顶不住怎么优化SQL都没用。作者一怒之下既然瓶颈在磁盘那我直接把数据放内存里不就行了于是用C语言重写了一个内存版的列表数据库加上了持久化功能2009年Redis正式横空出世。它的全称是REmote DIctionary Service远程字典服务本质就是一个可以远程访问的、存键值对的内存字典。2.2 Redis核心特性和Memcache比Redis能火这么多年靠的就是功能全还性能强支持5大数据类型字符串、列表、集合、有序集合、哈希不止是简单的key-value操作全是原子性单线程执行不用担心并发冲突支持持久化数据在内存但可以定期存到磁盘宕机不丢数据支持主从复制、哨兵、集群高可用、扩容都有成熟方案单线程多路IO复用别看是单线程速度比多线程还快还没锁的开销2.3 Redis能干嘛7大经典场景别觉得Redis只能当缓存它的玩法多到离谱业务场景Redis实现方案最新评论、消息列表List列表天然按插入顺序排序排行榜、热度榜单Zset有序集合按分数自动排序手机验证码、临时权限Expire过期时间到点自动删除秒杀库存、访问计数器INCR/DECR原子自增并发不超卖海量数据去重Set集合自动去重效率极高消息队列、任务排队List实现简单队列实时消息广播pub/sub发布订阅模式三、CentOS7安装Redis 手把手踩坑指南3.1 前期准备环境CentOS7 系统安装包redis-6.2.1.tar.gz(版本不唯一)必装依赖gcc编译器⚠️ 踩坑预警没装gcc直接编译百分百报错# 检查有没有gccgcc--version# 没有就安装yuminstallgcc-y3.2 安装全步骤第一步解压安装包把安装包传到/opt目录执行解压cd/opttar-zxvfredis-6.2.1.tar.gz第二步编译新手最容易翻车的一步进入解压后的目录执行make编译cdredis-6.2.1/make❌ 经典报错jemalloc/jemalloc.h: 没有那个文件或目录原因gcc环境没准备好就执行了make残留了错误的编译文件解决办法先清理错误文件重新编译makedistclean# 清除之前的编译垃圾make# 重新编译第三步执行安装编译完成后安装到系统目录makeinstall安装完成后所有命令会自动放到/usr/local/bin目录下全局都能调用。3.3 安装目录里都是啥/usr/local/bin下的几个核心工具先混个脸熟命令作用redis-serverRedis服务器启动命令redis-cliRedis客户端操作入口redis-benchmark性能测试工具压测Redis速度redis-check-aof / redis-check-rdb修复损坏的持久化文件redis-sentinel哨兵模式专用3.4 启动方式别用前台启动不推荐前台启动直接输redis-server就能启动但终端一关服务就停纯纯测试用生产绝对不能这么干。推荐后台守护进程启动这是我们日常用的标准方式需要修改配置文件先把配置文件复制到安装目录cp/opt/redis-6.2.1/redis.conf /usr/local/bin修改配置文件开启后台运行vim/usr/local/bin/redis.conf找到daemonize no改成daemonize yes意思是「以守护进程方式运行」后台常驻关终端不影响启动Redisredis-server redis.conf验证是否启动成功ps-ef|grepredis能看到redis-server 127.0.0.1:6379进程就说明启动成功了。客户端连接测试redis-cli# 进入客户端后输入ping127.0.0.1:6379pingPONG返回PONG说明连接正常环境彻底搞定。3.5 关闭服务的正确姿势# 方式1客户端内关闭127.0.0.1:6379shutdown# 方式2命令行直接关redis-clishutdown# 多实例指定端口关闭redis-cli-p6379shutdown3.6 远程连接必做开放端口修改配置⚠️ 新手第二大坑本地能连Java代码/远程工具连不上默认Redis只允许本机访问要远程连接必须改两个地方开放防火墙6379端口firewall-cmd--permanent--add-port6379/tcp firewall-cmd--reload# 查看已开放端口firewall-cmd --list-ports修改redis.conf配置注释掉bind 127.0.0.1或者改成0.0.0.0把protected-mode yes改成no关闭保护模式改完重启Redis生效3.7 冷知识小彩蛋端口号6379的由来作者早年喜欢玩梗6379是手机九宫格键盘上「MERZ」对应的数字。MERZ是意大利一个女明星的名字作者和朋友早年用这个词当「愚蠢」的梗选端口的时候随手就用了。默认16个数据库Redis默认有16个数据库下标从0开始默认用0号库。用select 数字就能切换不过集群模式下不支持多库。单线程为什么还这么快Redis是「单线程多路IO复用」模型避免了多线程锁竞争的开销纯内存操作本身就极快瓶颈根本不在CPU而在网络IO所以单线程完全够用。总结本文从项目性能优化的真实痛点切入完整梳理了NoSQL的诞生背景与Redis入门全流程核心内容可归纳为三点为什么学性能瓶颈倒逼技术演进Web2.0高并发场景下传统架构暴露出Web服务器算力不足、数据库IO压力过大两大难题。NoSQL凭借内存级读写速度成为解决Session共享、热点数据缓存的最优方案其中Redis因功能全面、性能强劲是当前企业级缓存的首选技术。是什么Redis的核心定位与能力边界Redis是基于C语言开发的键值型内存数据库支持5大数据结构、原子操作、持久化与高可用架构可覆盖缓存、排行榜、验证码、计数器、消息队列等7类经典业务场景并非单一的缓存工具。怎么搭零踩坑安装部署指南提供了CentOS7环境下Redis 6.2.1从编译到启动的完整步骤重点标注了gcc依赖缺失、jemalloc编译报错、远程连接失败三大新手高频坑给出了后台守护进程配置、防火墙端口开放、保护模式关闭的标准解决方案。本文是Redis系列的入门基础篇搞定环境搭建后可继续深入学习数据类型操作、持久化机制与集群架构等高阶内容。
延伸阅读

更多相关文章

2026/9/22 13:53:37

虚幻引擎5.2蓝图实现:角色游泳、潜水与浮力控制系统开发指南

1. 项目概述:从“会动”到“会游”的角色进化 在虚幻引擎5.2里做一个能跑能跳的角色,对很多开发者来说已经是家常便饭。但当你需要把角色丢进一个广阔的水世界,让他不仅能浮在水面扑腾,还能一个猛子扎下去探索深海,事情…

2026/9/26 12:35:03

资深前端开发工程师(全栈方向/AI方向)

现在, 我们这个地方是在杭州, 需要找一个做前端开发的老师傅, 这个人呢, 还得懂整个前后的事儿, 也就是全栈方向, 或者是要懂怎么用那个大模型的AI去搞事情的方向也行。你要知道的是, 这人得会写代码, 把网上那些看起来挺新的网页做出来的那种应用给弄好, 还得把人家搞出来的厉…

2026/9/26 12:35:03

非华为笔记本安装华为电脑管家实现多屏协同教程

1. 为什么非华为笔记本装华为电脑管家这件事,比想象中更“拧巴” 你手头有一台拯救者R7000,刚升级到Windows 11 26H2,MatePad Pro 13.2寸新机也已到手。你想把平板当第二屏用——不是简单投屏,而是像华为自家笔记本那样&#xff0…

2026/9/26 12:35:03

机器人流程自动化解决方案:从PPTX拆解到Python最小闭环实战

简介:这份PPT资料聚焦机器人流程自动化(RPA)解决方案,面向企业信息化负责人、流程优化人员及RPA初学者,帮助理解如何在不改造后端系统的前提下,通过模拟人机交互自动完成重复性、规则性任务。内容围绕艺赛旗…

2026/9/26 12:35:02

压力管理技术实现原理与工程落地路径解析

我无法根据当前输入生成符合要求的博文。原因在于:您提供的【项目标题】“让复杂的压力管理任务变得简单,使用2511020213301和R7KA8T2LFLCAC”中,两个核心标识符——2511020213301与R7KA8T2LFLCAC——在现有公开技术语境、行业标准、主流工具…

2026/9/26 12:35:02

Atlas 300V 24G部署YOLO:从PyTorch到NPU推理的完整指南

前阵子一个搞部署的朋友问我:Atlas 300V 24G 是不是运算加速卡?当时我愣了一下,不是问题本身难,而是这个问法背后藏着一种很典型的期待——很多人拿到铁灰色的Atlas板卡,第一反应是拿它跟NVIDIA的GPU做对比&#xff0c…

2026/9/26 12:30:02

技术驱动与价值共生:Lerwee 2026 Roadmap背后的物联网趋势解析

上周看完Lerwee 2026产品Roadmap对外发布的消息,我第一反应不是去看它又更新了几个SKU,而是去翻这个时间节点背后整个连接技术行业的走势。原因很简单:做产品选型或者做技术预研的人,看Roadmap看的不应该是“厂商明年出什么”&…

2026/9/25 21:00:17

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/25 20:59:52

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/26 0:04:28

画质修复APP怎么选?Wink影像修复能力与产品实力解析

现如今手机拍摄场景愈发丰富,演唱会直拍、漫展记录、老视频翻新、日常vlog录制,都会遇到画面模糊、噪点多、曝光失衡等问题,不少用户在挑选工具时比较在意一款画质修复APP能够兼顾修复效果与自然质感。Wink作为美图公司推出的全球化AI影像增强…

2026/9/26 0:04:28

超低能耗建筑K值要求能否满足?浙东铝业建筑型材解析

核心摘要浙东铝业的超低能耗系统门窗产品,资料显示保温性能可达 K≤1.4W/(㎡K),能够对应上海地区超低能耗住宅对门窗保温性能的应用需求。判断建筑是否满足超低能耗要求,不能只看铝型材本身,还需要结合玻璃、隔热条、密封系统、开…

2026/9/25 20:55:38

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/25 18:41:36

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/25 18:34:56

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑