概要: 深入探讨NoSQL数据库的核心特性,对比传统关系型数据库的差异,重点介绍Redis作为内存数据库的优势与应用场景。

NoSQL(Not Only SQL): 不仅仅是SQL,是相较于传统关系型数据库而言,具有显著差异性的特殊数据库类型,因此也称为非关系型数据库
NoSQL相较于非关系型数据库,有着六个本质的区别
特性 | 关系型数据库 | NoSQL数据库 |
|---|---|---|
数据结构 | 结构化数据 | 非结构化数据 |
约束 | 严格的字段约束 | 灵活的格式支持 |
修改成本 | 高(锁表、业务影响) | 低(灵活调整) |
关系型数据库特点:
NoSQL数据库特点:
关系型数据库: 表与表间存在外键关联

NoSQL数据库: 无关联,通过业务逻辑维护
{
"id": 1,
"name": "张三",
"orders": [
{
"id": 1,
"item": {
"id": 10,
"title": "荣耀6",
"price": 4999
}
},
{
"id": 2,
"item": {
"id": 20,
"title": "小米11",
"price": 3999
}
}
]
}关系型数据库: 基于SQL语句
SELECT id, age FROM tb_user WHERE id = 1NoSQL数据库: 多种查询语法
# Redis
get user:1
# MongoDB
db.user.find({_id: 1})
# Elasticsearch
GET http://localhost:9200/users/1关系型数据库: 满足ACID原则
NoSQL数据库: 实现BASE原则
特性 | 关系型数据库 | NoSQL数据库 |
|---|---|---|
存储介质 | 磁盘存储 | 内存存储 |
IO操作 | 大量磁盘IO | 内存读写 |
性能 | 受磁盘限制 | 内存速度 |
关系型数据库: 垂直扩展(主从模式)
NoSQL数据库: 水平扩展
对比总结
特性 | SQL | NoSQL |
|---|---|---|
数据结构 | 结构化 | 非结构化 |
数据关联 | 关联的 | 无关联的 |
查询方式 | SQL查询 | 非SQL |
事务特性 | ACID | BASE |
存储方式 | 磁盘 | 内存 |
扩展性 | 垂直 | 水平 |
使用场景 | 1. 数据结构固定2. 对一致性、安全性要求高 | 1. 数据结构不固定2. 对性能要求高3. 需要高并发 |
Redis 诞生于2009年,全称是 Remote Dictionary Server(远程词典服务器),是一个基于内存的键值型NoSQL数据库。
特征 | 说明 |
|---|---|
键值型 | Value支持多种数据结构,功能丰富 |
单线程 | 每个命令具有原子性 |
低延迟 | 基于内存、IO多路复用、良好编码 |
持久化 | 支持数据持久化 |
集群 | 支持主从集群、分片集群 |
多语言 | 支持多种编程语言客户端 |
通过本文的学习,您已经掌握了:
下一步: 学习Redis中的相关数据结构与基本指令
💡 提示:选择合适的数据库是系统架构设计的关键一步,理解各种数据库的优缺点有助于做出最佳决策。
本文为Redis学习笔记,持续更新中…
如果我的内容对你有帮助,希望可以收获你的点赞、评论、收藏。