Windows 系统如何使用Redis 服务

前言

在学习过程中,我们长期接触到的是Mysql 关系型数据库,也是够我们平时练习项目用的,但是后面肯定会有大型数据的访问就要借助新的新的工具。

一、什么是Redis

Redis (Remote Dictionary Server)是一个基于内存的 键值型非关系型数据库(NoSQL),采用 C 语言编写,支持数据持久化、多种数据结构(如字符串、哈希、列表、集合等),并具备高性能读写能力(每秒数十万次操作)

核心特点

  1. 内存存储为主:数据主要存储在内存中,读写速度极快(微秒级响应)。

  2. 持久化机制:支持 RDB(快照)和 AOF(日志追加)两种方式将内存数据保存到磁盘,防止数据丢失。

  3. 丰富的数据结构:支持字符串、哈希、列表、集合、有序集合等,适用于多种场景。

  4. 高可用性:支持主从复制、哨兵模式、集群分片等,保障服务稳定

二、Redis 的作用

Redis 主要解决 高性能读写临时数据存储 需求,典型应用场景包括:

  1. 缓存:将高频访问数据(如用户会话、商品详情)缓存至内存,减轻 MySQL 等主数据库压力。

  2. 实时数据处理:如计数器(点击量)、排行榜(有序集合)、实时消息队列(List/Stream)。

  3. 分布式锁 :通过 SETNX 命令实现跨服务锁机制,避免资源竞争。

  4. 会话存储:存储用户登录状态(Session),支持分布式系统共享会话。

  5. 地理空间索引 :通过 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) 设置密码(可选)

  1. 修改配置文件 redis.windows-service.conf ,取消注释requirepass并设置密码:

    复制代码
    requirepass yourpassword
  2. 重启 Redis 服务使配置生效。

(2) 图形化管理工具(可选)

四、总结

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 中的端口号:

      bash 复制代码
      port 6380
    • 重启服务:

      复制代码
      redis-server.exe --service-restart --service-name redisService
问题 3:防火墙拦截
  • 操作:允许 Redis 端口(默认 6379)通过防火墙:

    bash 复制代码
    New-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. 协同关系
  1. 互补架构
  • MySQL 为主存储:负责持久化、复杂查询和事务处理。
  • Redis 为缓存层:加速热点数据访问,降低数据库负载。
  1. 数据一致性
  • 通过 缓存失效策略 (如设置 TTL)或 双写机制 保障数据同步。

Redis 和 Mysql区别: MySQL与Redis的区别与联系详解(参考文章

五、建议

1. 选择依据

  • 需要复杂查询和强一致性时选 MySQL ;追求高性能和实时性时选 Redis

  • 实际应用中,两者结合使用(如 MySQL + Redis)是常见架构。

2. 注意事项

  • Redis 内存成本较高,不适合存储海量冷数据。

  • MySQL 需优化索引和查询,避免全表扫描。

通过合理搭配 Redis 和 MySQL,可构建高性能、高可用的系统架构,满足多样化业务需求。

相关推荐
gadiaola1 小时前
MySQL从入门到精通(三):MySQL数据类型、SQL语言—DDL
数据库·sql·mysql·database
muxue1783 小时前
关于almalinux分区配置:
linux·运维·数据库
海天胜景4 小时前
Asp.Net Core IIS发布后PUT、DELETE请求错误405
数据库·后端·asp.net
凯子坚持 c4 小时前
【金仓数据库征文】金仓数据库 KES:MySQL 迁移实用指南
数据库·金仓数据库 2025 征文·数据库平替用金仓
小刘|4 小时前
Redis 中简单动态字符串(SDS)的深入解析
数据库·redis·bootstrap
怀君6 小时前
Flutter——数据库Drift开发详细教程(四)
数据库·flutter
万能程序员-传康Kk6 小时前
中国邮政物流管理系统(Django+mysql)
python·mysql·django
pqq的迷弟6 小时前
Redis的过期设置和策略
数据库·redis
JhonKI6 小时前
【MySQL】存储引擎 - CSV详解
android·数据库·mysql
闪电麦坤957 小时前
SQL:MySQL函数:字符串函数
数据库·mysql