redis安装(Windows和linux)
如何实现Redis安装与使用的详细教程
Redis 简介
Redis是一个使用C语言编写的开源、高性能、非关系型的键值对存储数据库。它支持多种数据结构,包括字符串、列表、集合、有序集合、哈希表等。Redis的内存操作能力极强,其读写性能非常优秀,且支持持久化,可以将数据存储到磁盘上,确保数据安全。Redis还提供了一个强大的Lua脚本引擎,可以用来实现一些复杂的业务逻辑。Redis的使用场景非常广泛,包括缓存、队列、计数器、分布式锁、会话存储等等。
Redis官网地址:Redis
Redis中文地址:Redis中文网
Redis Windows版详细教程
1、下载Redis安装包
Windows版下载地址:Releases · microsoftarchive/redis · GitHub

2、解压Redis安装包
下载完成后,将压缩文件解压到任意目录,例如D:\DevelopmentTool\Redis。解压后的文件包括redis-server.exe(服务端)、redis-cli.exe(客服端)、redis.windows.conf(配置文件)等文件。

3、启动Redis服务
首先双击运行redis-server.exe可执行文件,开启Redis服务,此时Redis会在后台运行。然后再双击运行redis-cli.exe可执行文件来与Redis进行交互,其中127.0.0.1表示本地主机IP,6379是默认的Redis端口号。


4、停止Redis服务
正确停止Redis服务的两种方法:
4.1、使用redis-cli.exe命令行停止,然后关闭窗口
进入redis-cli.exe可执行文件,输入shutdown命令,回车后Redis服务即会正常停止并退出。
shutdown

4.2、首先点击关闭redis-cli.exe窗口,然后再关闭redis-server.exe窗口
需要注意的是,采用这种方式关闭一定要注意关闭的执行顺序。否则可能会导致数据丢失,因此建议使用第一种方式正常停止服务。
5、Redis开机自启动
按下“Win+R”键,输入“services.msc”并回车这样就打开服务功能了。然后找到Redis服务,右键点击属性然后将手动修改为自动,点击应用和确定,关闭窗口即可。



6、配置Redis(选择默认配置可跳过)
打开Redis安装目录的redis.windows.conf文件,可以通过编辑该文件并修改相关选项来实现Redis的配置,例如设置监听的端口、绑定的IP地址、密码等。
6.1、配置Redis密码
6.1.1、配置Redis临时性密码
找到Redis安装目录,启动Redis服务,登录Redis客服端

设置Redis密码相关操作(下面的操作均要在Redis客服端中登录后才能操作)
#查询当前Redis服务密码
config get requirepass
#设置(修改)当前Redis服务密码 注意:这种命令行设置(修改)的密码在服务重启后失效,所以一般不使用这种方式。
config set requirepass 密码
#验证密码登录
auth 密码

Redis Linux版详细教程
1、下载Redis安装包
注意:也可以使用Linux系统自带的包管理工具来下载Redis安装包(例如,Ubuntu可以使用apt-get,CentOS可以使用yum等)
Linux版下载地址:Index of /releases/

2、上传(下载)Redis安装包,并解压Redis安装包
进入上传(下载)的Redis安装包所在的目录,将Redis安装包解压到任意目录,例如/usr/local(假设Redis版本号为7.0.8)
tar -zxvf redis-7.0.8.tar.gz -C /usr/local
3、安装Redis的依赖环境
yum install gcc-c++
4、编译Redis源码
进入解压后的Redis源码所在的目录,例如/usr/local/redis-7.0.8,执行make命令进行编译
cd /usr/local/redis-7.0.8 #进入解压后的Redis源码目录
make #执行make命令进行编译
5、进入Redis的src目录,安装Redis
cd /usr/local/redis-7.0.8/src #进入Redis的src目录
make install#运行make install命令进行Redis安装
安装后的文件包括redis-server(服务端)、redis-cli(客服端)、redis.conf(配置文件)等文件。
6、启动Redis服务(前台启动)
进入Redis的src目录,执行redis-server文件
/usr/local/redis-7.0.8/src/redis-server #启动Redis服务端(按Ctrl+c可退出Redis服务端窗口)

可以看到,前台启动Redis服务时,服务端页面占据了整个控制台,需要开启另一个标签页面才能实现Redis客服端的启动,其中我们可以通过修改Redis配置文件,使得Redis服务端页面可以退出控制台,在系统后台默默执行。
7、启动Redis服务(后台启动)
vim /usr/local/redis-7.0.8/redis.conf #进入Redis的配置文件redis.conf
按 i 进入修改模式,将 “aemonize no” 修改为 “aemonize yes” 按 Esc 保存,按 “Shift + :” 输入wq退出

后台启动Redis服务
#后台启动Redis服务的时候,后面一定要跟上配置文件redis.conf路径,这样后台启动Redis服务才能生效
/usr/local/redis-7.0.8/src/redis-server /usr/local/redis-7.0.8/redis.conf
![]()
启动Redis客服端,测试Redis服务是否在系统后台默默执行。
/usr/local/redis-7.0.8/src/redis-cli #启动Redis客服端 (按Ctrl+d可退出客户端窗口或者输入exit)

可以看见Redis客服端启动成功,说明Redis服务系统后台默默执行了。其中127.0.0.1表示本地主机IP,6379是默认的Redis端口号。
8、停止Redis服务
#查找Redis服务进程号
ps -ef | grep redis
#停止Redis服务
kill -9 进程号
9、配置Redis(选择默认配置可跳过)
Redis的配置文件为redis.conf,默认存放在Redis安装目录下。可以通过编辑该文件并修改相关选项来实现Redis的配置,例如设置监听的端口、绑定的IP地址、密码等。
9.1、配置Redis密码
9.1.1、配置Redis临时性密码
启动Redis服务,登录Redis客服端
/usr/local/redis-7.0.8/src/redis-server /usr/local/redis-7.0.8/redis.conf #后台启动Redis服务
/usr/local/redis-7.0.8/src/redis-cli #启动Redis客服端 (按Ctrl+d可退出客户端窗口或者输入exit)
设置Redis密码相关操作(下面的操作均要在Redis客服端中登录后才能操作)
#查询当前Redis服务密码
config get requirepass
#设置(修改)当前Redis服务密码 注意:这种命令行设置(修改)的密码在服务重启后失效,所以一般不使用这种方式。
config set requirepass 密码
#验证密码登录
auth 密码

9.1.2、配置Redis永久性密码
修改Redis密码登录检验配置并设置密码(Redis默认是没有开启密码登录检验的)
vim /usr/local/redis-7.0.8/redis.conf #进入Redis的配置文件redis.conf
#按 i 进入修改模式,找到 #requirepass foobared行,将其修改为下面的例子按 Esc 保存,然后按 “Shift+:” 输入wq退出
重新启动Redis服务
#查找Redis服务进程号
ps -ef | grep redis
#停止Redis服务
kill -9 进程号
#后台启动Redis服务
/usr/local/redis-7.0.8/src/redis-server /usr/local/redis-7.0.8/redis.conf
登录Redis客户端进行测试
/usr/local/redis-7.0.8/src/redis-cli
执行Redis查询语句
kyes * #出现这个"(error) NOAUTH Authentication required." 表示用户未登录,需要进行身份验证,说明密码设置成功

在Redis客服端中进行身份验证登录,并且重新查询
#Redis客服端中进行身份验证登录的几种方式
#注意:-h后面跟着的是要登录的主机IP地址,-p后面跟着的是端口号
#1、登录Redis客服端的同时输入登录密码
#/usr/local/redis-7.0.8/src/redis-cli -h localhost -p 6379 -a 密码
#2、先登录Redis客服端,然后再利用auth进行身份验证
#auth 123456auth 123456

出现上面情况,说明Redis永久性密码配置已经完成。
9.2、配置Redis远程登录
在本地电脑上利用cmd命令打开Redis客户端所在目录的redis-cli.exe可执行程序,登录远程系统的Redis服务(注意要确保远程系统的防火墙已经关闭,或者系统的Redis端口号已经对外开放)
.\redis-cli.exe -h 192.168.188.188 -p 6379 -a 123456

以上说明Redis远程登录连接失败,可以知道Redis默认是不支持远程登录服务的
修改Redis远程登录配置(Redis默认是不支持远程登录服务的)
vim /usr/local/redis-7.0.8/redis.conf #进入Redis的配置文件redis.conf
#按 i 进入修改模式,找到 bind 127.0.0.1 -::1 行,将其注释起来按 Esc 保存,然后按 “Shift+:” 输入wq退出


重新启动Redis服务
#查找Redis服务进程号
ps -ef | grep redis
#停止Redis服务
kill -9 进程号
#后台启动Redis服务
/usr/local/redis-7.0.8/src/redis-server /usr/local/redis-7.0.8/redis.conf
重新登录Linux系统的Redis服务(注意要确保Linux系统的防火墙已经关闭,或者Linux系统的Redis端口号已经对外开放)
.\redis-cli.exe -h 192.168.188.188 -p 6379 -a 123456

可以看见,在本地电脑上已经可以远程登录Linux系统的Redis服务了,说明Redis远程登录配置已经完成。
9.3、设置Redis启动、停止、重启、开机自启动的简单命令
创建一个管理Redis的系统服务文件redis.service
vim /etc/systemd/system/redis.service
创建的系统服务文件redis.service内容如下:
[Unit]
Description=redis-server
After=network.target[Service]
Type=forking
ExecStart=/usr/local/redis-7.0.8/src/redis-server /usr/local/redis-7.0.8/redis.conf
PrivateTmp=true[Install]
WantedBy=multi-user.target

ExecStart=“这里填写自己Redis服务文件所在的目录以及配置文件所在的目录”
重新加载Redis服务配置文件
systemctl daemon-reload
Redis启动、停止、重启、开机自启动简单命令的使用
# 查看Redis服务状态
systemctl status redis
#查找Redis服务进程号
ps -ef | grep redis
# 启动Redis服务
systemctl start redis
# 停止Redis服务
systemctl stop redis
# 重启Redis服务
systemctl restart redis
# Redis服务开机自启动
systemctl enable redis
以上设置Redis启动、停止、重启、开机自启动的简单命令已经完成。
相关文章:
redis安装(Windows和linux)
如何实现Redis安装与使用的详细教程 Redis 简介 Redis是一个使用C语言编写的开源、高性能、非关系型的键值对存储数据库。它支持多种数据结构,包括字符串、列表、集合、有序集合、哈希表等。Redis的内存操作能力极强,其读写性能非常优秀,且…...
【LeetCode刷题-树】--1367.二叉树中的链表
1367.二叉树中的链表 方法:枚举 枚举二叉树中的每个节点为起点往下的路径是否与链表相匹配的路径,为了判断是否匹配设计了一个递归函数dfs(root,head),其中root表示当前匹配到的二叉树节点,head表示当前匹配到的链表节点,整个函数…...
【嵌入式 – GD32开发实战指南(ARM版本)】第2部分 外设篇 - 第3章 温度传感器DS18B20
1 理论分析 1.1 DS18B20概述 DS18B20 是 DALLAS 最新单线数字温度传感器,新的"一线器件"体积更小、适用电压更宽、更经济。Dallas 半导体公司的数字化温度传感器 DS1820 是世界上第一片支持 "一线总线"接口的温度传感器。 DS18B20采用的单总线协议,也…...
基于spring gateway 的静态资源缓存实现
由于子项目比较多,子项目都是通过嵌套的方式实现的。就会导致子页面加载比较慢,影响客户体验 实现思路(AI搜的--!): 1、通过spring boot缓存实现静态资源缓存 2、在gateway过滤器,对静态资源进行缓存 直接上代码&a…...
SDUT OJ《算法分析与设计》搜索算法
A - 子集和问题 Description 子集和问题的一个实例为〈S,t〉。其中,S{ x1 , x2 ,…,xn }是一个正整数的集合,c是一个正整数。子集和问题判定是否存在S的一个子集S1,使得: 。 试设计一个解子…...
【NI-DAQmx入门】校准
1.设备定期校准的理由 随着时间的推移电子器件的特性会发生自然漂移,可能会导致测量结果的不准确性。防止出现良品和差品筛选出错的情况满足行业国际标准降低设备出现故障的风险使测量结果更具备参考性 2.查找NI设备的校准间隔。 定期校准会使DAQ设备的精度保持在…...
C语言链表
head.h typedef struct Node_s{int data; //数据域struct Node_s *pNext; //指针域 } Node_t, *pNode_t;void headInsert(pNode_t *ppHead, pNode_t *ppTail, int data); void print(pNode_t pHead); void tailInsert(pNode_t *ppHead, pNode_t *ppTail, int data); void sort…...
LabVIEW进行MQTT通信及数据解析
需求:一般通过串口的方式进行数据的解析,但有时候硬件的限制,没法预留串口,那么如何通过网络的方式特别是MQTT数据的通信及解析 解决方式: 1.MQTT通信控件: 参考开源的mqtt-LabVIEW https://github.com…...
基于DOTween插件实现金币飞行到指定位置功能
文章目录 前言一、DOTween是什么?二、使用步骤1.导入DOTween插件在Unity官方插件商店找到DOTween插件导入DOTween插件启用DOTween插件 2.代码逻辑金币飞行代码控制飞行效果代码 3.物体配置1.物体上装配CoinEffect脚本2.在金币预制体上装配FlyControl脚本 三、效果展…...
python-opencv 培训课程作业
python-opencv 培训课程作业 作业一: 第一步:读取 res 下面的 flower.jpg,读取彩图,并用 opencv 展示 第二步:彩图 -> 灰度图 第三步:反转图像:最大图像灰度值减去原图像,即可得…...
【Go入门】并发
【Go入门】并发 有人把Go比作21世纪的C语言,第一是因为Go语言设计简单,第二,21世纪最重要的就是并行程序设计,而Go从语言层面就支持了并行。 goroutine goroutine是Go并行设计的核心。goroutine说到底其实就是协程,…...
Java虚拟机运行时数据区结构详解
Java虚拟机运行时数据区结构如图所示 程序计数器 程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。 多线程切换时,为了能恢复到正确的执行位置,每条线程…...
华为OD机试 - 转盘寿司(Java JS Python C)
目录 题目描述 输入描述 输出描述 用例 题目解析 JS算法源码 Java算法源码...
【ATTCK】MITRE Caldera-emu插件
CALDERA是一个由python语言编写的红蓝对抗工具(攻击模拟工具)。它是MITRE公司发起的一个研究项目,该工具的攻击流程是建立在ATT&CK攻击行为模型和知识库之上的,能够较真实地APT攻击行为模式。 通过CALDERA工具,安全…...
23111709[含文档+PPT+源码等]计算机毕业设计基于Spring Boot智能无人仓库管理-进销存储
文章目录 **软件开发环境及开发工具:****功能介绍:****论文截图:****数据库:****实现:****代码片段:** 编程技术交流、源码分享、模板分享、网课教程 🐧裙:776871563 软件开发环境及…...
SDUT OJ《算法分析与设计》贪心算法
A - 汽车加油问题 Description 一辆汽车加满油后可行驶n公里。旅途中有若干个加油站。设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油次数最少。并证明算法能产生一个最优解。 对于给定的n和k个加油站位置,计算最少加油次数。 I…...
金融业务系统: Service Mesh用于安全微服务集成
随着云计算的不断演进,微服务架构变得日益复杂。为了有效地管理这种复杂性,人们开始采用服务网格。在本文中,我们将解释什么是Service Mesh,为什么它对现代云架构至关重要,以及它是如何解决开发人员今天面临的一些最紧…...
Linux下快速确定目标服务器支持哪些协议和密码套件
实现原理是利用TLS协议的特点和握手过程来进行测试和解析响应来确定目标服务器支持哪些TLS协议和密码套件。 在TLS握手过程中,客户端和服务器会协商并使用相同的TLS协议版本和密码套件来进行通信。通过发送特定的握手请求并分析响应,可以确定目标服务器…...
LeetCode100122. Separate Black and White Balls
文章目录 一、题目二、题解 一、题目 There are n balls on a table, each ball has a color black or white. You are given a 0-indexed binary string s of length n, where 1 and 0 represent black and white balls, respectively. In each step, you can choose two a…...
系列二十六、idea安装javap -c
一、概述 javap -c是一个能够将.java文件反编译为.class文件的指令,例如我在idea中编写了一个Car.java文件,我想看看这个类被编译后长什么样的,就可以使用该指令进行查看。 二、配置 2.1、 Java Bytecode Decompiler File>Settings>Pl…...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
JavaScript基础-API 和 Web API
在学习JavaScript的过程中,理解API(应用程序接口)和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能,使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
PHP 8.5 即将发布:管道操作符、强力调试
前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...
