第一章:Redis 入门介绍
📺 对应集数:p002p04(第13集)
第一章:Redis 入门介绍
1.1 什么是 Redis
- 全称:Remote Dictionary Server(远程词典服务器)
- 诞生时间:2009 年
- 作者:Antirez(意大利人 Salvatore Sanfilippo)
- 本质:基于 Key-Value 结构的内存数据库
- 核心特点:数据存在内存中,读写速度极快
1.2 认识 NoSQL
NoSQL = Not Only SQL,即非关系型数据库。
与传统关系型数据库(MySQL)的对比:
| 对比维度 | 关系型数据库(SQL) | 非关系型数据库(NoSQL) |
|---|---|---|
| 数据结构 | 结构化,必须遵循表和约束 | 非结构化,数据格式灵活 |
| 数据关联 | 通过外键维护表与表的关系 | 非关联,数据冗余存储 |
| 查询方式 | 标准 SQL 语法 | 不同 NoSQL 各有查询语法 |
| 事务支持 | 强事务支持 | 视具体类型而定 |
| 扩展方式 | 垂直扩展(加硬件) | 水平扩展(加节点) |
常见 NoSQL 类型:
- 键值型:Redis(典型代表)
- 文档型:MongoDB
- 图类型:Neo4j
1.3 Redis 的核心特征
- 键值型数据库:Key-Value 结构,操作简单
- Value 支持丰富数据类型:String、Hash、List、Set、SortedSet 等近 10 种
- 单线程执行命令:命令串行执行,线程安全(Redis 6.0 的多线程仅用于网络请求处理,核心命令执行仍为单线程)
- 速度快性能高 ,原因分析:
- 核心原因:基于内存存储(内存读写速度远高于磁盘)
- 辅助原因:基于 I/O 多路复用,提高吞吐能力
- 辅助原因:C 语言编写,编码质量优秀
- 支持数据持久化:定期将内存数据持久化到磁盘,确保数据安全
- 支持主从集群和分片集群:主从可做读写分离,分片可水平扩展存储上限
- 支持多语言客户端:Java、Python、C 等几乎所有语言都有客户端