当前位置: 首页 > news >正文

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…...

Cursor实现用excel数据填充word模版的方法

cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 ​ 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)&#xff0…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...