目录
[1.1 初识Redis](#1.1 初识Redis)
[1.1.1 认识NoSQL](#1.1.1 认识NoSQL)
[1.2 Redis简介](#1.2 Redis简介)
[1.3 安装Redis(Linux-CentOS 7示例)](#1.3 安装Redis(Linux-CentOS 7示例))
[1.3.1 安装依赖](#1.3.1 安装依赖)
[1.3.2 上传安装包并解压编译](#1.3.2 上传安装包并解压编译)
[1.3.3 启动Redis](#1.3.3 启动Redis)
[1.4 Redis客户端](#1.4 Redis客户端)
Redis是一种基于内存的键值型NoSQL数据库,以key-value形式存储数据,支持多种数据结构。与传统关系型数据库相比,Redis具有非结构化、无关联、查询语法灵活、弱事务支持等特点,适用于高性能场景。它采用单线程模型(6.0+部分多线程),支持持久化、集群部署和多语言客户端。安装过程包括依赖安装、源码编译和配置启动,可通过命令行或图形界面连接。Redis默认提供16个数据库,支持密码认证和后台运行,适合作为高速缓存或消息中间件使用。
1.1 初识Redis
Redis是一种键值型 的NoSql数据库。
- 键值型 :Redis中存储的数据都是以
key-value对的形式存储,value可以是字符串、数值、甚至json等多种形式。

- NoSql:非关系型数据库,区别于传统的关系型数据库(如MySQL)。
1.1.1 认识NoSQL
-
结构化 vs 非结构化
-
关系型数据库 :结构化数据,有严格的表结构约束(字段名、类型、约束等)。

-
NoSQL数据库:形式自由,可以是键值型、文档型、图型等。
-
键值型:

文档型:

图型:

-
关联 vs 非关联
-
关系型数据库 :通过外键等维护表与表之间的关联。

-
NoSQL数据库:通常无关联,数据关系通过业务逻辑或数据嵌套(耦合)来维护。
- 补充说明:虽然可以在一个文档中嵌套其他数据(如上文订单例子),但这可能导致数据冗余和更新复杂。通常更推荐在业务代码中维护数据间的关系。
-
-
查询方式
-
关系型数据库:使用标准的SQL语句。
-
NoSQL数据库:查询语法各异,没有统一标准。
-
-
事务
-
关系型数据库:严格支持事务的ACID特性。
-
NoSQL数据库:大多不支持事务或仅支持弱一致性(BASE)。
-
-
总结对比
|----------|-----------------------|------------------|
| 特性 | 关系型数据库 | 非关系型数据库 |
| 存储方式 | 基于磁盘,大量磁盘IO | 基于内存,操作速度快 |
| 扩展性 | 一般通过主从复制(垂直扩展),水平扩展困难 | 易于水平拆分,支持海量数据存储 |
| 数据结构 | 结构化(表) | 非结构化,灵活 |
| 数据关联 | 通过外键关联 | 无关联,或通过代码、数据嵌套维护 |
| 查询方式 | SQL | 各不相同 |
| 事务 | 支持ACID | 通常不支持或弱支持 |
1.2 Redis简介
Redis(Remote Dictionary Server)诞生于2009年,是一个基于内存的键值型NoSQL数据库。
特征:
-
键值对存储,
value支持多种数据结构。 -
单线程(核心网络模型,6.0后部分功能支持多线程),命令具备原子性。
-
低延迟、高速(基于内存、IO多路复用、优秀编码)。
-
支持数据持久化(RDB、AOF)。
-
支持主从集群、分片集群。
-
支持多语言客户端。
1.3 安装Redis(Linux-CentOS 7示例)
1.3.1 安装依赖
yum install -y gcc tcl
1.3.2 上传安装包并解压编译
假设安装包上传至 /usr/local/src
tar -xzf redis-6.2.6.tar.gz
cd redis-6.2.6
make && make install
默认安装路径在 /usr/local/bin,其中包含:
-
redis-cli:命令行客户端 -
redis-server:服务端启动脚本 -
redis-sentinel:哨兵启动脚本
1.3.3 启动Redis
-
默认启动(前台) :
redis-server(不推荐,会阻塞终端) -
指定配置启动(后台):
-
备份配置文件:
cp redis.conf redis.conf.bck -
修改
redis.conf关键配置:bind 0.0.0.0 # 允许所有IP访问,生产环境需谨慎 daemonize yes # 后台运行 requirepass 123321 # 设置密码 -
其他常见配置:
port 6379 dir ./ # 数据持久化文件保存目录 databases 1 # 数据库数量 maxmemory 512mb # 最大内存限制 logfile "redis.log" # 日志文件 -
启动:
redis-server redis.conf -
停止:
redis-cli -u 123321 shutdown
-
-
开机自启(systemd方式):
-
创建服务文件
/etc/systemd/system/redis.service,内容如下:[Unit] Description=redis-server After=network.target [Service] Type=forking ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf PrivateTmp=true [Install] WantedBy=multi-user.target -
重载服务并设置开机自启:
systemctl daemon-reload systemctl start redis systemctl enable redis
-
1.4 Redis客户端
-
命令行客户端
redis-cliredis-cli -h 127.0.0.1 -p 6379 -a 密码# 连接 ping # 测试连通性,返回 PONG 表示成功
-
图形化桌面客户端(如Redis Desktop Manager)
-
下载安装后,新建连接,填写主机、端口、密码等信息。

-
Redis默认有16个数据库(编号0-15),可通过
select 0命令切换。
-
