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

linux环境安装redis(亲测完成)

linux环境安装redis 亲测完成

  • 前言
  • 一、redis简介
    • Redis 与其他 key - value 缓存产品有以下三个特点:
    • Redis 优势
  • 二、安装redis
    • 1.下载安装包
    • 2.创建服务器安装路径
    • 3.上传安装包
    • 4.解压安装包
    • 5.依赖安装
    • 6.编译
  • 三、启动
    • 1)默认启动
      • 错误
      • 解决方式
    • 2)指定配置启动
      • 2.1)备份配置文件
      • 2.2)修改配置文件信息
      • 2.3)启动指定配置 redis
    • 3)开机自启
      • 3.1)创建系统服务文件
      • 3.2)重载系统服务
      • 3.3)开机自启动操作
  • 四、停止
  • 参考

前言

记录一次在服务器上安装 redis 的过程,算是过程记录互相学习

一、redis简介

Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list(列表),set(集合),zset(有序集合),hash(哈希表)等数据结构的存储。
  • Redis支持数据的备份,即master-slave(主从模式)模式的数据备份。

Redis 优势

  • 性能极高 – Redis的读取速度是110000次/s,写入速度是81000次/s 。
  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
  • 原子 – Redis的所有操作都是原子性的。意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
    丰富的特性 – Redis还支持 publish/subscribe(发布-订阅模式), 通知, key 过期等等特性。
    Redis与其他key-value存储有什么不同?
  • Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
  • Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,应为数据量不能大于硬件内存。在内存数据库方面的另一个优点是, 相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。 同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问

官网:redis 官网
简介内容参考:简介内容参考

二、安装redis

1.下载安装包

在Redis版本库:redis下载地址、
可根据自己的需求选择下载对应的版本,然后直接下载,也可往下选择More installation options可选择自己想要的其他版本
在这里插入图片描述
下载完成本地可得到一个压缩文件
在这里插入图片描述

2.创建服务器安装路径

下载完 redis 的安装包,就需要将该安装包上传到 Linux 服务器上,于是在服务器上创建一个 redis 的文件夹来存放安装包。

# 在 /soft 目录下创建一个空的文件夹 redis
mkdir redis
# 进入这个新建的文件夹下
cd redis

3.上传安装包

然后上传之前下载好的 Linux 下 Redis 的安装包,使用 rz 命令,或 scp 命令都可
在这里插入图片描述

4.解压安装包

tar -zxvf redis-X.X.X.tar.gz

使用 tar 命令解压 reids 的安装包
在这里插入图片描述
解压成功之后进入 redis 的安装目录

cd redis-7.2.1/

在这里插入图片描述

5.依赖安装

Redis 是基于 C语言编写的,所有还需要安装 Redis 所需要的 gcc 依赖

yum install -y gcc tcl

在这里插入图片描述

6.编译

运行编译命令,该过程需要一点时间,如果没有出错,就基本安装成功了

make && make install

在这里插入图片描述
默认安装路径是在 /usr/local/bin 目录下:

cd /usr/local/bin

在这里插入图片描述
该目录以及默认配置到环境变量,因此可以在任意目录下运行这些命令,其中:

  • redis-cli:是 redis 提供的命令行客户端
  • redis-server:是 redis 的服务端启动脚本
  • redis-sentinel:是 redis 的哨兵启动脚本

三、启动

启动redis服务:(三种启动方式)
1)前台启动:在任何目录下执行 redis-server
2)后台启动:在任何目录下执行 redis-server &
3)启动redis服务时,指定配置文件:redis-server redis.conf & ,这种主要用于你改了配置文件的情况,比如你把默认端口号改了,你就用这个,正常也用这个

1)默认启动

redis 默认启动的命令是 redis-server ,但是该命令只是前台启动,关闭调当前的窗口,redis 也会随之关闭,安装完成后,在任意目录输入redis-server命令即可启动Redis:

错误

当使用默认的启动命令时候,错误提示如下所示:zsh: command not found: redis-server,包括修改配置后启动也提示同样的错误
在这里插入图片描述

解决方式

这是因为在系统的usr/bin目录下没有命令文件,这就要将redis-server、redis-cli、redis-benchmark、redis-check-aof、redis-check-rdb、redis-sentinel等这些可执行文件复制到usr/bin下,再启动即可成功

#将 redis 相关的执行文件复制疑问至/usr/bin 文件夹下
cp -r /usr/local/bin/redis*  /usr/bin

在这里插入图片描述
再次执行默认启动语句即可成功

redis-server

在这里插入图片描述
关闭窗口或使用 ctrl+c 即可退出该页面

2)指定配置启动

2.1)备份配置文件

如果想要 redis 后台启动,就必须去修改 redis 的配置文件,指定配置文件启动。redis 的配置文件就在之前解压的 redis 安装包下产生的目录下,叫做 redis.conf,修改配置文件前建议先备份一下,以防万一

cp redis.conf redis.conf.bck

在这里插入图片描述

2.2)修改配置文件信息

然后修改 redis.conf 文件中的一些配置

vim redis.conf

如果用 vi 进行编辑的话,可以在 【命令模式】 下使用 / 搜索关键词+回车进行搜索,例如:/logfile + 回车,按n进行搜索出的多目标跳转到下一个,方便快速找到目标值
在这里插入图片描述

# 监听地址,默认是 127.0.0.1,会导致只能在本地访问。修改成 0.0.0.0 则可以在任意 IP 访问,生产环境不要设置 0.0.0.0
bind 0.0.0.0
# 守护进程,修改为 yes 后即可后台运行
daemonize yes
# 密码,设置后访问 redis 必须输入密码
requirepass 123456

其他常见配置

# 监听端口
port 6379
# 工作目录,默认是当前目录,也就是运行 redis-server 时的命令,日志、持久化等文件会保存在这个目录
dir .
# 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15
databases 1
# 设置 redis 能够使用的最大内存
maxmemory 256mb
# 日志文件,默认为空,不记录日志,可以指定日志文件名
logfile "redis.log"

2.3)启动指定配置 redis

# 进入 redis 安装目录
cd /soft/redis/redis-7.2.1/
# 指定配置文件启动 redis
redis-server redis.conf
# 查看 redis 进程是否启动成功
ps -ef | grep redis

在这里插入图片描述

3)开机自启

如果服务器关闭了的话,redis 也会关闭,如何做到让 redis 开启自启,可以通过配置来实现开机自启。如果不想设置 redis 开机自启,以下内容可以不看。

3.1)创建系统服务文件

首先,新建一个系统服务文件

vi /etc/systemd/system/redis.service

具体内容如下:

[Unit]
Description=redis-server
After=network.target[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /soft/redis/redis-7.2.1/redis.conf
PrivateTmp=true[Install]
WantedBy=multi-user.target
  • 注意:这里 ExecStart 后面配置文件的路径不要写错(根据自身实际情况修改)

3.2)重载系统服务

然后重载系统服务

systemctl daemon-reload

在这里插入图片描述

3.3)开机自启动操作

现在 redis 还没有实现开机自启,它只是被系统管理了,可以通过下面的命令操作redis

# 启动
systemctl start redis
# 停止
systemctl stop redis
# 重启
systemctl restart redis
# 查看状态
systemctl status redis

在这里插入图片描述
设置 redis 开机自启:

systemctl enable redis

在这里插入图片描述

四、停止

如果想要停止 redis ,可以先查看 redis 的进程信息
然后再杀死该进程即可
在这里插入图片描述
如果有配置 redis 的系统文件,也可以通过以下命令停止 redis

systemctl stop redis

参考

Linux-安装Redis(详细教程)
Linux安装Redis详细教程(2022)
Linux 安装redis报redis-server: command not found怎么解决

相关文章:

linux环境安装redis(亲测完成)

linux环境安装redis 亲测完成 前言一、redis简介Redis 与其他 key - value 缓存产品有以下三个特点:Redis 优势 二、安装redis1.下载安装包2.创建服务器安装路径3.上传安装包4.解压安装包5.依赖安装6.编译 三、启动1)默认启动错误解决方式 2)指定配置启动2.1&#x…...

关于命令行交互自动化,及pyinstaller打包wexpect的问题

Python自动化工具 用来执行命令并进行交互,比如需要输入账号密码或者确认的场景 linux平台可以用pexpect,但是windows平台有一些差异,比较好用的是pexpect的变种wexpect,如果脚本中用了wexpect,并且要打包成onefile&a…...

8.4 【MySQL】文件系统对数据库的影响

因为 MySQL 的数据都是存在文件系统中的,就不得不受到文件系统的一些制约,这在数据库和表的命名、表的大小和性能方面体现的比较明显,比如下边这些方面: 数据库名称和表名称不得超过文件系统所允许的最大长度。 每个数据库都对应…...

Python WEB框架FastAPI (二)

Python WEB框架FastAPI (二) 最近一直在使用fastapi,随着使用的深入发现我对于它的了解还是太少了,以至于踩了一些坑。所以在这里记录一下,愿看到的小伙伴不迷路。 路径传参并发问题 一、路径传参 这是对上一个传参…...

基于Java网络书店商城设计实现(源码+lw+部署文档+讲解等)

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…...

怒刷LeetCode的第3天(Java版)

目录 第一题 题目来源 题目内容 解决方法 方法一:动态规划 第二题 题目来源 题目内容 解决方法 方法一:模拟 方法二:数学规律 方法三:分组 第三题 题目来源 题目内容 解决方法 方法一:数学方法 方法…...

JavaScript数组去重常用方法

数组去重是在 JavaScript 开发中经常遇到的问题。本文将从前言、分析、使用场景、具体实现代码和注意事项等方面,详细讨论 JavaScript 数组去重的方法。 前言: 在 JavaScript 中,数组是一种常用的数据结构,用于存储多个值。然而…...

蓝牙电话之HFP—电话音频

1 媒体音频: 播放蓝牙音乐的数据,这种音频对质量要求高,数据发送有重传机制,从而以l2cap的数据形式走ACL链路。编码方式有:SBC、AAC、APTX、APTX_HD、LDAC这五种编码方式,最基础的编码方式是SBC&#xff0…...

JDBC基本概念

什么是JDBC JDBC概念 JDBC(Java DataBase Connectivity)是一套统一的基于Java语言的关系数据库编程接口规范。 该规范允许将SQL语句作为参数通过JDBC接口发送给远端数据库, …...

leetcode876 链表的中间节点

题目 给你单链表的头结点 head ,请你找出并返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 示例 输入:head [1,2,3,4,5] 输出:[3,4,5] 解释:链表只有一个中间结点,值为 3 。 输入&a…...

了解方法重写

父类 package com.mypackage.oop.demo07;//重写都是方法的重写,与属性无关 public class B {public static void test(){System.out.println("B>test.()");}public void test2(){System.out.println("B2>test.()");} }子类 package com…...

2、从“键鼠套装”到“全键盘游戏化”审核

1、风行内容仓的增效之路 - 前言 内容仓成立初期,安全审核组是规模最大的小组,占到部门人数的半壁江山,因此增效工作首先就从安全审核开始。 早期安全审核每天的达标值在800条左右,每天的总审核量不到1万,距离业务部门…...

【flutter】架构之商城main入口

架构之商城main入口 前言一、项目模块的划分二、入口main的配置三、配置文件怎么做总结 前言 本栏目我们将完成一个商城项目的架构搭建,并完善中间的所有功能,总页面大概200个,如果你能看完整个栏目,你肯定能独立完成flutter 项目…...

linux学习实操计划0103-安装软件

本系列内容全部给基于Ubuntu操作系统。 系统版本:#32~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 18 10:40:13 UTC 1 安装deb格式软件 Debian包是Unixar的标准归档,将包文件信息以及包内容,经过gzip和tar打包而成。 处理这些包的经典程序是…...

git vscode

01:工作区 **02:暂存区 git add . 3:本地库 git commit -m ’ 4:远程库 git push example 点击箭头之后...

Linux命令行批量删除文件

1、 删除当前目录下60min前的所有.log结尾文件 find ./ -type f -name "*.log" -mmin 60 -delete 2、删除当前目录下30天前的所有.log结尾文件 find ./ -type f -name "*.log" -mtime 30 -delete...

CAN - 基础

CAN 基础 概念分类特点物理层收发器线与编码方式通信方式采样点/位 常见故障 数据链路层CAN控制器数据帧分类数据帧格式数据帧DBC解析CRC校验远程帧 总线竞争与仲裁非破坏性仲裁机制 节点状态与错误处理机制节点状态错误处理机制错误帧 概念 分类 CANCAN FD高速CAN低俗容错CA…...

【Hash表】找出出现一次的数字-力扣 136

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…...

Resize和centerCrop的区别

首先要记住,transforms只能对PIL读入的图片进行操作,而且PIL和opencv只能读取H * W * C形式的图片。 resize(size):将图片的短边缩放成size的比例,然后长边也跟着缩放,使得缩放后的图片相对于原图的长宽比不变。如果想要resize成自己想要的图…...

无涯教程-JavaScript - SUM函数

描述 SUM函数可添加值。 语法 SUM (number1, [number2]...)争论 Argument描述Required/Optionalnumber1The first number you want to add. The number can be a value, a cell reference, or a cell range.Requirednumber2, …You can specify up to 255 additional numbe…...

ChatGLM P-Tuningv2微调定制AI大模型

前言 什么是模型微调 想象一下,你正在学习如何弹奏一首钢琴曲目。你已经学会了一些基本的钢琴技巧,但你想要更进一步,尝试演奏一首特定的曲目。这时,你会选择一首你感兴趣的曲目,并开始深度练习。 Fine-tuning(微调)在机器学习中也是类似的概念。当我们使用预先训练好…...

关于RISC-V安全性的全面综述

目录 摘要引言RISC-V安全综述通用平台的安全要求信任的根源与硬件安全模块OTP管理模块安全内存对称加密(如AES)引擎不对称加密[131](例如,公钥RSA)引擎HASH/HAMC引擎随机数/位生成(例如TRNG[136]&#xff0…...

Python基础语法规则和Java不同的地方

Java是现在最流行的语言,也是广大程序员最熟悉的语言。然而,随着人工智能领域的快速发展,Python作为新星崭露头角。通过对比Java语言来学习Python语言,可以事半功倍。 首先,我们来看Python和Java在注释上的区别。在Jav…...

振弦采集仪安全监测路基边坡的解决方案

振弦采集仪安全监测路基边坡的解决方案 随着人们对交通安全的重视和公路工程的发展,路基边坡安全监测成为了重要的课题之一。路基边坡作为公路的基础,其稳定性直接关系到公路的使用寿命和行车安全。而振弦采集仪作为一种新型的安全监测设备,可…...

如何与QVC 建立EDI连接?

QVC,全称为Quality, Value, Convenience(品质、价值、便利),成立于1986年,是一家全球领先的零售电视和在线零售商。作为一家多渠道零售商,QVC致力于为客户提供高品质、独特的商品,通过电视、互联…...

脑网络图谱

前言 研究人脑面临的一个挑战是其多尺度组织和系统复杂性。我们对大脑组织的认识主要来源于离体组织学检查,如细胞结构映射。通过研究全脑微观结构特征的变化,可以划分为不同的脑区。然而,这种研究大脑组织的“局部”方法非常耗时、耗资源&a…...

无涯教程-JavaScript - SQRTPI函数

描述 SQRTPI函数返回(number * pi)的平方根。 语法 SQRTPI (number)争论 Argument描述Required/OptionalNumberThe number by which pi is multiplied.Required Notes If the specified number < 0, SQRTPI returns the #NUM! error value.如果指定的数字为非数字,则S…...

Nacos使用教程(四)——命名空间(Namespace)、配置分组(Group)和配置集ID(Data ID)

文章目录 Nacos命名空间&#xff08;Namespace&#xff09;一、什么是命名空间二、命名空间的作用1. 隔离环境2. 分类管理3. 权限控制 三、命名空间的使用四、总结 Nacos配置分组&#xff08;Group&#xff09;一、什么是配置分组二、配置分组的作用1. 分类管理2. 隔离控制3. 动…...

三、双指针(two-point)

文章目录 一、算法核心思想二、算法模型&#xff08;一&#xff09;对撞指针1.[704.二分查找](https://leetcode.cn/problems/binary-search/)&#xff08;1&#xff09;思路&#xff08;2&#xff09;代码&#xff08;3&#xff09;复杂度分析 2.[15.三数之和](https://leetco…...

Redis 是什么和使用场景概述(技术选型)

一、Redis 是什么 Redis是一款开源的高性能键值存储系统。它支持多种数据结构&#xff0c;如字符串、列表、集合、哈希表、有序集合等&#xff0c;并提供了丰富的操作命令和功能。Redis的主要特点包括&#xff1a; 内存存储&#xff1a;Redis将数据存储在内存中&#xff0c;因此…...

网站建设的技巧有哪些方面/武汉seo托管公司

引言&#xff1a;NFT Insider由NFT收藏组织WHALE Members、BeepCrypto联合出品&#xff0c;浓缩每周NFT新闻&#xff0c;为大家带来关于NFT最全面、最新鲜、最有价值的讯息。每期周报将从NFT市场数据&#xff0c;艺术新闻类&#xff0c;游戏新闻类&#xff0c;虚拟世界类&#…...

广西建设教育网站/郑州网站建设优化

由于博主比较习惯笔记本开盖即用&#xff0c;合盖即走&#xff0c;不大习惯开机关机&#xff08;毕竟SSD速度杠杠滴^_^&#xff09;。可是发现笔记本长时间睡眠乃至休眠唤醒后&#xff0c;使用thinkpad热键&#xff0c;虽然可以调节&#xff0c;但屏幕不显示调节状态了。解决步…...

wordpress 开发搜索框/结构优化是什么意思

这里的问题是,你的br元素之间唯一分离的是文本. CSS中的兄弟组合器忽略了元素之间的所有非元素节点,包括(但不限于)注释,文本和空格,因此就CSS而言,所有段落中都包含五个连续的br子元素&#xff1a;也就是说,每个段落中第一个之后的每个br都是br br(并且扩展为also a br ~ br).…...

wordpress网站源码分享/哈尔滨seo关键词优化

很多时候&#xff0c;我们需要自己去定义dialog&#xff0c;目前我们就遇见了这样一个需求&#xff0c;我的想法是自己定义一个dialog&#xff0c;如果有list的话就使用listview&#xff0c;如果有msg的话就使用msg&#xff0c;并且取消和确定按钮也可自己定义。自定义一个dial…...

wordpress 微信/上海app网络推广公司

如何来通过JavaScript来进行图片本地压缩作者&#xff1a;张国军_Suger开发工具与关键技术&#xff1a;HTML、JavaScript有些时候我们需要一些HTML页面进行图片的本地压缩&#xff0c;下面直接上一下代码&#xff0c;希望可以帮到大家。<!DOCTYPE html><html> <…...

seo 网站关键词优化/诊断网站seo现状的方法

无缘参加去年在广州的UCD年会&#xff0c;这个周末还是想方法去杭州参加了UCD2010年会&#xff0c;收益良多&#xff0c;如果真要细细写下来&#xff0c;恐怕足够写成一本厚厚的垃圾书&#xff0c;只好视自己的心情想到什么就写什么吧。  虽然一直对网络营销抱有浓厚的兴趣&a…...