当前位置: 首页 > 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…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...

Java入门学习详细版(一)

大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

【HTTP三个基础问题】

面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...