Windows 系统如何使用Redis 服务

news2025/4/16 16:15:32

前言

        在学习过程中,我们长期接触到的是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) 图形化管理工具(可选)

  • 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:服务启动失败
  • 原因:配置文件路径错误或权限不足

  • 解决方案

# 卸载旧服务
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 中的端口号:

      port 6380
    • 重启服务:

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

      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,可构建高性能、高可用的系统架构,满足多样化业务需求。

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2336074.html

    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

    相关文章

    【unity游戏开发入门到精通——UGUI】CanvasScaler画布缩放器组件

    注意:考虑到UGUI的内容比较多,我将UGUI的内容分开,并全部整合放在【unity游戏开发——UGUI】专栏里,感兴趣的小伙伴可以前往逐一查看学习。 文章目录 一、CanvasScaler画布缩放器组件是什么二、CanvasScaler的三种适配模式1、Cons…

    Hugging Face 模型:AI 模型的“拥抱”与开源革命!!!

    🌐 Hugging Face 模型:AI 模型的“拥抱”与开源革命 用表情符号、图表和代码,探索开源模型生态的底层逻辑与应用场景! 🌟 名字由来:为什么叫 Hugging Face? “Hugging”:象征 开放…

    关于 人工智能(AI)发展简史 的详细梳理,按时间阶段划分,涵盖关键里程碑、技术突破、重要人物及挑战

    以下是关于 人工智能(AI)发展简史 的详细梳理,按时间阶段划分,涵盖关键里程碑、技术突破、重要人物及挑战: 字数:约2500字 逻辑结构:时间线清晰,分阶段描述技术突破、关键事件与挑战…

    微服务即时通信系统---(四)框架学习

    目录 ElasticSearch 介绍 安装 安装kibana ES客户端安装 头文件包含和编译时链接库 ES核心概念 索引(Index) 类型(Type) 字段(Field) 映射(mapping) 文档(document) ES对比MySQL Kibana访问ES测试 创建索引库 新增数据 查看并搜索数据 删除索引 ES…

    Android查看依赖树的方法,简单有效

    一、使用命令打印 在工具栏“Terminal”中输入以下命令,即可打印依赖树信息 gradlew xxxx:dependencies (“xxxx”为module名称)二、工具栏双击打印 右侧“Gradle”工具栏打开按下图顺序依次查找到“dependencies”,双击后依赖树就会在控制台中打印出…

    GitHub配置密钥

    1.生成SSH密钥 1)检查 SSH 密钥是否存在 首先,确认是否已经在本地系统中生成了 SSH 密钥对。可以通过以下命令检查: ls -al ~/.ssh 在命令输出中,应该能看到类似 id_rsa 和 id_rsa.pub 这样一对文件。如果这些文件不存在&#…

    【2-10】E1与T1

    前言 之前我们简单介绍了人类从电话线思维到如今的数据报分组交换思维过渡时期的各种技术产物,今天我们重点介绍 E1/T1技术。 文章目录 前言1. 产生背景2. T13. E14. SONET4.1 OC-14.2 OC-3 及其它 5. SDH5.1. STM-1 6. SONET VS SDH后记修改记录 1. 产生背景 E1/…

    【设计模式】适配器模式:让不兼容的接口和谐共处

    引言 在软件开发中,我们经常会遇到这样的情况:两个已经存在的接口无法直接协同工作,但我们又希望它们能够无缝对接。这时,适配器模式就派上用场了。适配器模式(Adapter Pattern)是一种结构型设计模式&…

    Pandas进行数据预处理(标准化数据)③

    数据标准化处理代码解析 数据标准化处理代码解析课前预习1. 离差标准化(Min - Max Scaling)结果2. 标准差标准化(Standard Scaling)结果3. 小数定标标准化(Decimal Scaling)结果 代码整体概述代码详细解析1…

    基于uniapp 实现画板签字

    直接上效果图 代码 <template><view class"container"><!-- 签名画布 --><view class"canvas-container"><canvas canvas-id"signCanvas" class"sign-canvas"touchstart"handleTouchStart"touc…

    JDBC 初认识、速了解

    目录 一. JDBC的简介 1. 数据的持久化 2. 什么是JDBC 二. JDBC中常用的类和接口 1. Driver 接口 2. DriverManager 类 3. Connection 接口 4. Statement 接口 5. PreparedStatement接口 6. ResultSet 接口 三. 总结 前言 从现在开始就来讲解JDBC的相关知识了 本文的…

    (2025亲测可用)Chatbox多端一键配置Claude/GPT/DeepSeek-网页端配置

    1. 资源准备 API Key&#xff1a;此项配置填写在一步API官网创建API令牌&#xff0c;一键直达API令牌创建页面创建API令牌步骤请参考API Key的获取和使用API Host&#xff1a;此项配置填写https://yibuapi.com/v1查看支持的模型请参考这篇教程模型在线查询 2. ChatBox网页版配…

    4.vtk光照vtkLight

    文章目录 VTK中的光照1. vtkLight 的两种类型&#xff1a;位置光照和方向光照2. vtkLight 的常用方法3. 方法命名风格4. vtkProp 的可见性与 vtkLight 的开关 示例 VTK中的光照 vtkLight: 用于定义一个或多个光源。每个光源可以有其颜色、位置、焦点等属性。 vtkActor: 每个vtk…

    YOLOv2学习笔记

    YOLOv2 背景 YOLOv2是YOLO的第二个版本&#xff0c;其目标是显著提高准确性&#xff0c;同时使其更快 相关改进&#xff1a; 添加了BN层——Batch Norm采用更高分辨率的网络进行分类主干网络的训练 Hi-res classifier去除了全连接层&#xff0c;采用卷积层进行模型的输出&a…

    【YOLOv8改进 - 卷积Conv】PConv(Pinwheel-shaped Conv): 风车状卷积用于红外小目标检测, 复现!

    YOLOv8目标检测创新改进与实战案例专栏 专栏目录: YOLOv8有效改进系列及项目实战目录 包含卷积,主干 注意力,检测头等创新机制 以及 各种目标检测分割项目实战案例 专栏链接: YOLOv8基础解析+创新改进+实战案例 文章目录 YOLOv8目标检测创新改进与实战案例专栏介绍摘要文章链…

    Dockerfile项目实战-单阶段构建Vue2项目

    单阶段构建镜像-Vue2项目 1 项目层级目录 以下是项目的基本目录结构&#xff1a; 2 Node版本 博主的Windows电脑安装了v14.18.3的node.js版本&#xff0c;所以直接使用本机电脑生成项目&#xff0c;然后拷到了 Centos 7 里面 # 查看本机node版本 node -v3 创建Vue2项目 …

    Zabbix 简介+部署+对接Grafana(详细部署!!)

    目录 一.Zabbix简介 1.Zabbix是什么 2.Zabbix工作原理&#xff08;重点&#xff09;​ 3.Zabbix 的架构&#xff08;重点&#xff09;​ 1.服务端 2.客户端&#xff1a; 4.Zabbix和Prometheus区别 二.Zabbix 部署 1.前期准备 2.安装zabbix软件源和组件 3.安装数据库…

    Ubuntu2404装机指南

    因为原来的2204升级到2404后直接嘎了&#xff0c;于是要重新装一下Ubuntu2404 Ubuntu系统下载 | Ubuntuhttps://cn.ubuntu.com/download我使用的是balenaEtcher将iso文件烧录进U盘后&#xff0c;使用u盘安装&#xff0c;默认选的英文版本&#xff0c; 安装后&#xff0c;安装…

    Spring Cloud初探之使用load balance包做负载均衡(三)

    一、背景说明 基于前一篇文章《Spring Cloud初探之nacos服务注册管理(二)》&#xff0c;我们已经将服务注册到nacos。接下来继续分析如何用Spring cloud的load balance做负载均衡。 load balance是客户端负载均衡组件。本质是调用方拿到所有注册的服务实例列表&#xff0c;然…

    vector常用的接口和底层

    一.vector的构造函数 我们都是只讲常用的。 这四个都是比较常用的。 第一个简单来看就是无参构造&#xff0c;是通过一个无参的对象来对我们的对象进行初始化的&#xff0c;第一个我们常用来当无参构造来使用。 第二个我们常用的就是通过多个相同的数字来初始化一个vector。 像…