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

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…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...

51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...

跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...

【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...