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…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...
