前言
在学习过程中,我们长期接触到的是Mysql 关系型数据库,也是够我们平时练习项目用的,但是后面肯定会有大型数据的访问就要借助新的新的工具。
一、什么是Redis
Redis (Remote Dictionary Server)是一个基于内存的 键值型非关系型数据库(NoSQL),采用 C 语言编写,支持数据持久化、多种数据结构(如字符串、哈希、列表、集合等),并具备高性能读写能力(每秒数十万次操作)
核心特点:
- 
内存存储为主:数据主要存储在内存中,读写速度极快(微秒级响应)。
 - 
持久化机制:支持 RDB(快照)和 AOF(日志追加)两种方式将内存数据保存到磁盘,防止数据丢失。
 - 
丰富的数据结构:支持字符串、哈希、列表、集合、有序集合等,适用于多种场景。
 - 
高可用性:支持主从复制、哨兵模式、集群分片等,保障服务稳定
 
二、Redis 的作用
Redis 主要解决 高性能读写 和 临时数据存储 需求,典型应用场景包括:
- 
缓存:将高频访问数据(如用户会话、商品详情)缓存至内存,减轻 MySQL 等主数据库压力。
 - 
实时数据处理:如计数器(点击量)、排行榜(有序集合)、实时消息队列(List/Stream)。
 - 
分布式锁 :通过
SETNX命令实现跨服务锁机制,避免资源竞争。 - 
会话存储:存储用户登录状态(Session),支持分布式系统共享会话。
 - 
地理空间索引 :通过
GEO类型支持地理位置查询(如附近的人)。 
三、如何使用 Redis
版本兼容性:仅支持 64 位 Windows 系统,32 位系统不可用
1. 安装与启动
下载 Windows 版(GitHub) Redis(tporadowski/redis)并安装。

解压到目标目录(如 D:\Redis-x64-5.0.14.1)。然后进入终端:

(1) 通过命令行启动
- 
通过命令行安装服务:(依次运行)
注册为 Windows 服务
redis-server.exe --service-install redis.windows.conf --service-name redisService --loglevel verbose
启动服务
redis-server.exe --service-start --service-name redisService
 - 
启动服务结果显示:
注册为 Windows 服务
D:\Redis-x64-5.0.14.1>redis-server.exe --service-install redis.windows.conf --service-name redisService --loglevel verbose
[21100] 14 Apr 18:54:29.907 # Granting read/write access to 'NT AUTHORITY\NetworkService' on: "D:\Redis-x64-5.0.14.1" "D:\Redis-x64-5.0.14.1"
[21100] 14 Apr 18:54:29.907 # Redis successfully installed as a service.# 启动服务
D:\Redis-x64-5.0.14.1>redis-server.exe --service-start --service-name redisService
[13668] 14 Apr 20:17:16.206 # Redis service successfully started. 
(2) 通过服务管理器启动(图形化操作)
- 按 Win + R 打开运行窗口,输入 services.msc
 

- 找到服务名redisService ,右键选择 启动
 

2. 连接 Redis 客户端
# 启动 Redis CLI
redis-cli.exe
# 测试连接(返回 PONG 表示成功)
127.0.0.1:6379> PING
        运行结果:

3. 配置与验证
(1) 设置密码(可选)
- 
修改配置文件 redis.windows-service.conf ,取消注释requirepass并设置密码:
requirepass yourpassword - 
重启 Redis 服务使配置生效。
 
(2) 图形化管理工具(可选)
- Redis Desktop Manager :支持可视化操作(需自行下载安装)
 
四、总结
1. 服务管理命令汇总
| 操作 | 命令 | 
|---|---|
| 启动服务 | redis-server.exe --service-start --service-name redisService | 
| 停止服务 | redis-server.exe --service-stop --service-name redisService | 
| 重启服务 | redis-server.exe --service-restart --service-name redisService | 
| 卸载服务 | redis-server.exe --service-uninstall --service-name redisService | 
2. 查看实时日志
在 Redis 安装目录下打开日志文件redis-service.log,观察是否有错误信息。
3. Redis常见问题
问题 1:服务启动失败
- 
原因:配置文件路径错误或权限不足
 - 
解决方案:
 
            
            
              bash
              
              
            
          
          # 卸载旧服务
redis-server.exe --service-uninstall --service-name redisService
# 重新安装服务(指定完整配置文件路径)
redis-server.exe --service-install "D:\Redis-x64-5.0.14.1\redis.windows.conf" --service-name redisService
        问题 2:端口被占用
- 
解决步骤:
- 
修改配置文件redis.windows.conf 中的端口号:
bashport 6380 - 
重启服务:
redis-server.exe --service-restart --service-name redisService 
 - 
 
问题 3:防火墙拦截
- 
操作:允许 Redis 端口(默认 6379)通过防火墙:
bashNew-NetFirewallRule -DisplayName "Redis Port" -Direction Inbound -Protocol TCP -LocalPort 6379 -Action Allow 
4. Redis 与 MySQL 的关系与区别
1. 核心区别
| 维度 | MySQL(关系型数据库) | Redis(非关系型数据库) | 
|---|---|---|
| 数据模型 | 表结构,支持复杂 SQL 查询、事务、外键约束。 | 键值对存储,支持多种数据结构,无复杂关联。 | 
| 存储介质 | 数据持久化在磁盘,依赖内存缓存(如 InnoDB Buffer Pool)。 | 内存存储为主,支持持久化(RDB/AOF)。 | 
| 性能 | 适合复杂查询和事务处理,高并发下写性能受限。 | 单线程模型,内存读写,吞吐量高(每秒数十万次)。 | 
| 事务支持 | 完整 ACID 事务(原子性、一致性等)。 | 简单事务(MULTI/EXEC),不支持回滚。 | 
| 适用场景 | 长期存储结构化数据(如用户账户、订单)。 | 缓存、实时数据处理、高频读写场景(如秒杀)。 | 
2. 协同关系
- 互补架构:
 
- MySQL 为主存储:负责持久化、复杂查询和事务处理。
 - Redis 为缓存层:加速热点数据访问,降低数据库负载。
 
- 数据一致性:
 
- 通过 缓存失效策略 (如设置 TTL)或 双写机制 保障数据同步。
 
Redis 和 Mysql区别: MySQL与Redis的区别与联系详解(参考文章)
五、建议
1. 选择依据
- 
需要复杂查询和强一致性时选 MySQL ;追求高性能和实时性时选 Redis。
 - 
实际应用中,两者结合使用(如 MySQL + Redis)是常见架构。
 
2. 注意事项
- 
Redis 内存成本较高,不适合存储海量冷数据。
 - 
MySQL 需优化索引和查询,避免全表扫描。
 
通过合理搭配 Redis 和 MySQL,可构建高性能、高可用的系统架构,满足多样化业务需求。