
Redis 7企业级开发实战教程
文章平均质量分 92
本Redis专栏是您掌握Redis技术的一站式学习平台!从基础概念到进阶应用,涵盖数据类型、SpringBoot整合、分布式缓存构建等核心知识。通过Lua教程、性能优化技巧及面试要点剖析,带您深入Redis世界。无论您是新手入门还是寻求技术突破,亦或备战面试,这里都有您所需,助您成为Redis高手!
袁庭新
互联网大厂Java高级开发工程师、前美股上市教育公司技术总监,专栏作者。曾在多家互联网企业任职,涉及通信、电商、物联网、在线教育、企业信息化等多个领域。对主流开源框架、中间件、分布式、微服务等技术栈有丰富的实战经验。专注于Java软件开发领域,热衷技术分享。
展开
-
83_CentOS7通过yum无法安装软件问题解决方案
在CentOS 7中,yum是一个常用的包管理工具,它基于RPM包管理系统。如果你发现yum无法使用,可能是由于多种原因造成的。原创 2025-02-22 20:13:00 · 149 阅读 · 0 评论 -
00_专栏《Redis 7.x企业级开发实战教程》介绍
你是否在学习Redis时感到迷茫无措?初学者面对海量知识,不知从何处切入;而有了一定经验的开发者,试图进一步深挖Redis核心技术,又在繁杂的教程资料里难寻精品。正是洞察到这样的困境,我联合多位一线开发工程师,耗费心力、精研打磨,重磅推出《Redis 7.x企业级开发实战教程》专栏,为大家的Redis学习之路保驾护航。原创 2025-01-15 18:39:22 · 244 阅读 · 0 评论 -
01_什么是Redis?
Redis(Remote Dictionary Server,远程字典服务)是一款开源的、基于内存的高性能键值对(key-value)数据库。它是由意大利人Salvatore Sanfilippo使用ANSI C语言开发。Redis支持字符串、哈希、列表、集合和有序集合等多种数据结构,适用于缓存、会话管理、消息队列等场景。原创 2025-01-10 20:17:46 · 308 阅读 · 0 评论 -
02_Redis 7的安装与使用
本文主要围绕 Redis 7 的安装、启动、客户端使用及配置展开详细介绍,为 Redis 的应用提供了全面指导。原创 2025-01-10 21:05:02 · 492 阅读 · 0 评论 -
03_Redis基本操作
本文主要介绍了 Redis 的基本操作,涵盖查询、键、通用、数据库及客户端命令等方面。原创 2025-01-10 21:12:41 · 259 阅读 · 0 评论 -
04_Redis数据类型-String字符串
本文围绕 Redis 数据类型展开,重点介绍了 String 字符串类型。Redis 提供了 9 种主要数据类型,其中 String 是最基本的,其键值对中的值可存储多种形式,键最大能存 512MB,且具有二进制安全特性。原创 2025-01-10 21:15:25 · 93 阅读 · 0 评论 -
05_Redis数据类型-Hash哈希
本文主要介绍了 Redis 中的 Hash 哈希数据类型,核心介绍了以下的内容。原创 2025-01-10 21:19:11 · 72 阅读 · 0 评论 -
06_Redis数据类型-List列表
Redis 的 List 是一种有序的字符串元素集合,其容量上限极高,可达 2 的 32 次方减 1 个元素,且允许元素重复。它类似 Java 中的 LinkedList,具有独特的性能特点,插入和删除头部或尾部元素效率高,时间复杂度为 O(1),但查询操作时间复杂度为 O(n)。在实际应用中,常用于存储如朋友圈点赞、评论记录等有序数据。原创 2025-01-10 21:22:48 · 350 阅读 · 0 评论 -
07_Redis数据类型-Set集合
本文主要介绍了 Redis 的 Set 集合,包括其特点、命令和应用案例。Redis 的 Set 集合是一种无序且成员唯一的数据结构,基于哈希表实现。Set 集合命令丰富。在案例应用方面,通过实际操作展示了各项命令的使用。原创 2025-01-10 21:27:32 · 75 阅读 · 0 评论 -
08_Redis数据类型-SortedSet有序集合
本文详细介绍了Redis数据库中的Sorted Set(有序集合,简称zset)数据结构及其使用方法。有序集合是Redis中的一种复杂数据类型,它允许存储不重复的字符串成员,并且每个成员都关联了一个可以用于排序的分数(score)。文章指出,虽然成员必须是唯一的,但不同的成员可以拥有相同的分数。原创 2025-01-10 21:29:38 · 77 阅读 · 0 评论 -
09_Redis数据结构-Bitmap位图
Redis 的 Bitmap 位图是一种高效处理布尔型数据的结构。在实际应用中,像记录大量用户的签到或登录等情况,如果用传统的 key - value 方式,存储资源消耗极大。而 Bitmap 位图利用字符串的位存储 0 和 1,一个字符串最大可达 512MB,每个字节 8 位,能处理海量数据,极大节省空间。原创 2025-01-10 21:32:30 · 99 阅读 · 0 评论 -
10_Redis数据结构-HyperLogLog基数统计
Redis 的 Bitmap 位图是一种高效处理布尔型数据的结构。在实际应用中,像记录大量用户的签到或登录等情况,如果用传统的 key - value 方式,存储资源消耗极大。而 Bitmap 位图利用字符串的位存储 0 和 1,一个字符串最大可达 512MB,每个字节 8 位,能处理海量数据,极大节省空间。原创 2025-01-10 22:01:17 · 233 阅读 · 0 评论 -
11_Redis数据类型-Geo地理位置
Redis 的 Geo 地理位置功能自 3.2 版本引入,主要用于处理 LBS 应用相关的地理信息。其实现基于有序集合与 Geohash 算法,能将二维地理坐标编码为一维字符串,便于 B 树索引快速查找。原创 2025-01-10 22:05:02 · 320 阅读 · 0 评论 -
12_Redis发布订阅
这一小节给大家介绍了Redis的发布订阅(Pub/Sub)功能,这是一种消息传递模式,它允许客户端作为发布者向频道发送消息,或者作为订阅者接收来自频道的消息。这种机制非常适合实时通信的应用场景,如聊天系统、配置更新通知等。原创 2025-01-10 22:07:16 · 293 阅读 · 0 评论 -
13_Redis Stream消息队列
Redis Stream 是 Redis 5.0 版本中极具价值的数据结构,主要用于消息队列和事件驱动应用,有效解决了 Pub/Sub 模式消息易丢失的问题,提供了持久化存储与丰富功能。原创 2025-01-10 22:11:01 · 549 阅读 · 0 评论 -
14_Redis事务
Redis 事务为开发者提供了一种高效管理命令执行的方式。它主要经历开始事务、命令入队和执行事务三个阶段。在开始事务后,后续命令会依次进入队列等待执行,直至遇到 EXEC 或 DISCARD 命令。原创 2025-01-10 22:13:25 · 85 阅读 · 0 评论 -
15_Redis布隆过滤器
Redis 布隆过滤器是一种极具特色的数据结构,自 Redis 4.0 版本以插件形式引入后,在诸多场景中发挥着关键作用。其基本原理基于二进制位数组和多个哈希函数。原创 2025-01-11 14:56:45 · 40 阅读 · 0 评论 -
16_Redis Lua脚本
Redis Lua 脚本是 Redis 自 2.6 版本起引入的重要扩展功能,为 Redis 带来了强大的处理能力和高度的灵活性。其核心在于允许开发者将 Lua 语言编写的代码发送至 Redis 服务器执行。在应用场景方面,Lua 脚本表现出色。原创 2025-01-11 15:00:01 · 369 阅读 · 0 评论 -
17_Redis管道技术
Redis 管道技术是提升 Redis 数据交互效率的关键技术。在传统请求响应模式下,客户端每发一个命令都要等待服务器回应后再发下一个,网络延迟尤其是高 RTT 会极大影响性能,即便服务器处理能力强,频繁的往返等待也会使处理效率大打折扣。原创 2025-01-11 15:02:56 · 219 阅读 · 0 评论 -
18_Jedis客户端如何使用
本文围绕 Jedis——Redis 的 Java 客户端展开详细介绍。首先,Redis 为 Java 等多种主流语言提供客户端,在 Java 领域,Jedis 和 Lettuce 是常用的选择,且 Spring Data Redis 对它们进行了抽象封装。Jedis 支持多种 Redis 模式,其版本与 Redis 及 JDK 有兼容性要求,使用时需添加到项目依赖。原创 2025-01-11 15:09:25 · 70 阅读 · 0 评论 -
19_JedisPool连接池使用
这一节主要是围绕 JedisPool 的基本使用展开介绍的。首先介绍它是 Jedis 用于管理 Redis 连接的池化机制,因 Jedis 实例非线程安全,为避免多线程并发访问时创建过多连接消耗资源,引入 JedisPool 进行高效管理复用。原创 2025-01-11 15:12:32 · 99 阅读 · 0 评论 -
20_Spring Boot默认缓存管理
这一小节主要围绕 Spring Boot 缓存管理及与 Redis 整合展开。首先搭建基础环境,创建 springboot_data 数据库及相关表并插入数据,接着用 Spring Initializr 建 springboot-cache-demo 项目,引入依赖,编写实体类、Repository 接口、业务层和控制层代码,配置数据库连接。项目测试时发现未开启缓存时,每次查询操作都会使控制台输出新 SQL 语句。原创 2025-01-11 15:19:13 · 343 阅读 · 0 评论 -
21_Spring Boot缓存注解介绍
本文主要讲述了 Spring Boot 缓存管理知识及相关操作。然后开启 Spring Boot 默认缓存,在启动类标注@EnableCaching 注解,在查询方法上用@Cacheable 注解将结果缓存到名为“comment”的空间,以方法参数为缓存标识。原创 2025-01-11 15:21:40 · 541 阅读 · 0 评论 -
22_Spring Boot整合Redis
这一节主要介绍了 Spring Boot 与 Redis 的整合过程。首先阐述 Spring Boot 支持的缓存组件,在未定义特定缓存组件时,会按顺序启用,其默认缓存组件为 Simple。Redis 是开源的内存数据结构存储系统,具有存取快、数据类型丰富、操作原子性等优点。原创 2025-01-11 15:23:58 · 319 阅读 · 0 评论 -
23_Spring Boot中Redis缓存实现
这一节主要围绕 Spring Boot 中 Redis 缓存实现展开。首先介绍基于注解的 Redis 缓存实现,在 CommentServiceImpl 类方法上运用@Cacheable、@CachePut、@CacheEvict 注解管理缓存,操作前需添加 Redis 依赖与服务器连接配置,并开启注解缓存支持。测试中,因实体类未序列化,缓存存储出现异常,序列化 Comment 类后测试成功,数据库 SQL 执行次数减少,还可在配置文件设置缓存有效期,但此方式不够灵活。原创 2025-01-11 15:28:08 · 306 阅读 · 0 评论 -
24_自定义Redis缓存序列化机制
本文主要讲述了在 Spring Boot 中自定义 Redis 缓存序列化机制的相关内容,包括基于 Redis API 和基于注解两种实现方式。在基于 Redis API 的 Redis 缓存实现中,RedisTemplate 用于数据缓存操作。对于基于注解的 Redis 缓存,RedisCacheConfiguration 类源码显示默认采用 JdkSerializationRedisSerializer 序列化。原创 2025-01-11 15:32:17 · 145 阅读 · 0 评论 -
25_StringRedisTemplate操作Redis
本文主要介绍了 StringRedisTemplate 对 Redis 常见数据结构的操作方法。Spring Data Redis 提供的 StringRedisTemplate,其 key 和 value 序列化默认为 String 方式,但操作对象数据时需手动进行 JSON 序列化与反序列化。原创 2025-01-11 15:35:10 · 200 阅读 · 0 评论 -
26_Redis RDB持久化
这一节主要给大家介绍了Redis的RDB(Redis DataBase Backup file)持久化机制,这是为了防止内存中的数据因意外情况(如宕机或断电)而丢失。RDB通过定期创建内存快照并保存到磁盘上的二进制文件中来实现数据持久存储,默认情况下,这个文件名为dump.rdb。原创 2025-01-11 15:53:07 · 258 阅读 · 0 评论 -
27_Redis AOF持久化
Redis的AOF(Append Only File)持久化机制通过记录所有写入命令来确保数据的安全性。默认关闭,但可通过修改配置文件中的appendonly参数为yes开启。AOF以日志形式追加每个写操作,使得重启时能重放这些命令恢复数据。原创 2025-01-11 15:57:29 · 222 阅读 · 0 评论 -
28_Redis主从复制模式搭建
这一节主要介绍了 Redis 主从复制模式。该模式是 Redis 集群策略,主节点写数据并同步给从节点,实现读写分离,减轻主节点读取压力且提供数据备份。其集群架构常含一个主节点与多个从节点,如示例中的 node1(192.168.230.131:6379)为主节点,node2、node3 为从节点。原创 2025-01-11 16:00:10 · 63 阅读 · 0 评论 -
29_Redis主从复制高级使用
这一节主要围绕 Redis 主从复制高级使用而展开阐述介绍。在主从架构拓展上,介绍了类似继承传递性的设置,一台主机可连接多层从机,减轻主机压力,且数据能顺利传递;同时说明了主机宕机后从机切换为主机的手动操作及原主机恢复后的情况。原创 2025-01-12 10:08:17 · 34 阅读 · 0 评论 -
30_Redis哨兵模式
这一节主要介绍了 Redis Sentinel 模式、原理、搭建及与 RedisTemplate 连接,目的是提升 Redis 集群可用性。核心内容包含:哨兵模式介绍与原理、搭建集群步骤、RedisTemplate 连接 Sentinel。原创 2025-01-12 10:18:53 · 306 阅读 · 0 评论 -
31_搭建Redis分片集群
这一节主要介绍了 Redis 分片集群的架构、配置、启动与创建过程,旨在解决海量数据存储和高并发写的问题。原创 2025-01-12 10:25:17 · 138 阅读 · 0 评论 -
32_Redis分片集群原理
这一节主要给大家介绍了 Redis 集群分片及 slot 槽位映射相关知识。通过学习我们知道,Redis 集群采用哈希槽机制,共有 16384 个哈希槽,通过 CRC16(key) mod 16384 计算决定 key 所属槽位,实现数据分片存储在不同节点,方便扩缩容,添加或移除节点时调整哈希槽分配,不影响集群可用性。原创 2025-01-12 10:30:12 · 154 阅读 · 0 评论 -
33_操作Redis分片集群
这一节主要介绍了 Redis 分片集群的操作及相关知识,涵盖读写、主从切换、扩缩容、操作扩展和通过 RedisTemplate 访问等方面。原创 2025-01-12 10:36:01 · 183 阅读 · 0 评论 -
34_Lua概述与环境安装指南
Lua 诞生于 1993 年,由巴西的研究小组开发,名称在葡萄牙语中有辅助之意。它是轻量级、可嵌入且高效的脚本语言,用标准 C 语言编写并开源。其特性显著,如跨平台,能在多系统运行;是动态类型语言,变量类型在运行时确定;支持多种编程范式;以表为核心数据结构,可实现多种数据形式;有自动内存管理,执行速度快,体积小且启动迅速,还易于与 C/C++双向交互。原创 2025-01-12 10:53:10 · 251 阅读 · 0 评论 -
35_Lua基本语法
本文主要介绍了 Lua 的基本语法知识。首先是编程模式,交互式编程可通过命令行启动解释器进入 REPL 环境,输入代码即时获取结果,退出有相应快捷键;脚本式编程则需编写.lua 扩展名文件,用 lua 命令执行,也可指定解释器并添加权限运行。原创 2025-01-12 11:00:17 · 272 阅读 · 0 评论 -
36_Lua中的变量
文档主要介绍了 Lua 中的变量与数据类型。在变量方面,分为全局变量和局部变量。全局变量无需声明可直接赋值,存储于_G表,访问未初始化的全局变量为nil,将变量赋值为nil可删除它。局部变量用local声明,作用域限于特定代码块,声明有“提升”行为,且变量与值个数不一致时有相应处理策略,建议多使用以避免命名冲突和提高访问速度。原创 2025-01-12 11:04:14 · 346 阅读 · 0 评论 -
37_Lua运算符
本节给大家详细介绍了 Lua 的运算符的相关知识。首先列举了算术运算符,如加、减、乘、除等,通过设定值的示例展示了其运算效果。赋值运算符包含简单赋值及复合赋值形式,如 +=、*= 等,并给出了代码示例演示其用法。原创 2025-01-12 11:07:10 · 379 阅读 · 0 评论 -
38_Lua字符串
本节主要给大家介绍了 Lua 字符串的相关知识。在表示方面,字符串由数字、字母、下划线组成,可用单引号、双引号或长字符串定义,且具有不可变性,对数字字符串进行算术操作时会自动转换。字符串操作函数丰富,位于 string 标准库。同时模式匹配在字符串处理中也很重要。原创 2025-01-12 11:10:20 · 354 阅读 · 0 评论