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

Linux下安装 Redis7

Linux下安装 Redis7

  • 三、Linux下安装 Redis7【redis-7.2.4.tar.gz】
    • 3.1.下载redis的安装包
      • 3.1.1.手动下载Redis压缩包并上传【redis-7.2.4.tar.gz】
      • 3.1.2.wget工具下载redis-7.2.4.tar.gz
    • 3.2.将安装包进行解压缩
    • 3.3.进入redis的安装包
    • 3.4.检查是否有gcc 环境
    • 3.5.编译和安装并指定安装目录 make install PREFIX=/usr/local/redis
    • 3.5.拷贝redis配置文件`redis.conf`到/usr/local/redis目录中
    • 3.6.redis的bin目录文件作用介绍
    • 3.7.修改redis.conf配置文件
    • 3.8.重要的配置项
    • 3.9.验证redis是否成功安装
    • 3.10.运行时出现以下警告
    • 3.11.启动redis
    • 3.12.启动redis-cli测试redis
    • 3.13.关闭 Redis 服务器
  • 四、将redis设置成系统服务
    • 4.1.创建redis服务文件
    • 4.2.重新加载服务配置文件使之生效
    • 4.3.服务操作命令
  • 五、配置Redis环境变量
    • 5.1.编辑环境变量配置文件
    • 5.2.文件末尾添加以下内容
    • 5.3.保存并退出后,刷新配置信息
    • 5.4.验证环境变量
  • endl

三、Linux下安装 Redis7【redis-7.2.4.tar.gz】

3.1.下载redis的安装包

官网下载:https://redis.io/download

历史版本:https://download.redis.io/releases/

3.1.1.手动下载Redis压缩包并上传【redis-7.2.4.tar.gz】

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3.1.2.wget工具下载redis-7.2.4.tar.gz

# 安装wget工具
yum -y install wget# 创建自己的redis文件夹
mkdir -p /redis/corecd /redis/core# 自己复制的链接地址
wget https://download.redis.io/releases/redis-7.2.4.tar.gz

在这里插入图片描述

3.2.将安装包进行解压缩

tar -zxf redis-7.2.4.tar.gz

3.3.进入redis的安装包

cd redis-7.2.4

在这里插入图片描述

3.4.检查是否有gcc 环境

gcc -v
# 首先安装编译需要的环境依赖
yum install gcc-c++

在这里插入图片描述

3.5.编译和安装并指定安装目录 make install PREFIX=/usr/local/redis

# 如果安装redis出现错误执行以下命令,需要清理源码目录后再次执行编译
make distclean
# PREFIX关键字的作用是编译的时候用于指定程序存放的路径,指定了redis必须存在  /usr/local/redis  目录
#方便后续的卸载,直接rm -rf /usr/local/redis 即可删除redis
make PREFIX=/usr/local/redis install
# 可执行文件存放在 /usr/local/bin  目录
# 库文件会存放在  /usr/local/lib  目录
# 配置文件会存放在/usr/local/etc目录
# 其他的资源文件会存放在 usr/local/share 目录
# 不建议,不方便后续卸载
make install

在这里插入图片描述

3.5.拷贝redis配置文件redis.conf到/usr/local/redis目录中

# 查找redis.conf
find / -name redis.conf# 将redis的源码目录中复制 redis.conf 到 redis 的安装目录
cp /redis/core/redis-7.2.4/redis.conf /usr/local/redis

在这里插入图片描述

3.6.redis的bin目录文件作用介绍

在这里插入图片描述

  • 可执行命令在/usr/local/bin 目录
  • redis-benchmark: 性能测试工具,可以在自己机器运行,看看自己机器性能如何
  • redis-check-aof:修复有问题的 AOF 文件,rdb 和 aof 后面讲
  • redis-check-rdb:修复有问题的 dump.rdb 文件
  • redis-sentinel:Redis 集群使用
  • redis-server:Redis 服务器启动命令
  • redis-cli:客户端,操作入口

3.7.修改redis.conf配置文件

requirepass 123456 # 开启redis验证,修改为自己的密码
protected-mode no #需要远程连接,设置为no,取消保护模式
#bind 127.0.0.1 # 允许redis远程连接,必须注释掉(注释或者改为bind 0.0.0.0) 
port  6379      #redis的端口
daemonize yes   #后台启动redis设置为yes,开启守护进程模式
appendonly yes  #开启redis数据持久化

在这里插入图片描述

3.8.重要的配置项

配置项名称配置项值范围说明
daemonizeyes、noyes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行
port指定 Redis 监听端口,默认端口为 6379
bind绑定的主机地址,如果需要设置远程访问则直接将这个属性备注下或者改为bind * 即可,这个属性和下面的protected-mode控制了是否可以远程访问 。
protected-modeyes 、no保护模式,该模式控制外部网是否可以连接redis服务,默认是yes,所以默认我们外网是无法访问的,如需外网连接rendis服务则需要将此属性改为no。
timeout300当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能
logleveldebug、verbose、notice、warning日志级别,默认为 notice
databases16设置数据库的数量,默认的数据库是0。整个通过客户端工具可以看得到
rdbcompressionyes、no指定存储至本地数据库时是否压缩数据,默认为 yes,Redis 采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大。
dbfilenamedump.rdb指定本地数据库文件名,默认值为 dump.rdb
dir指定本地数据库存放目录
requirepass设置 Redis 连接密码,如果配置了连接密码,客户端在连接 Redis 时需要通过 AUTH 命令提供密码,默认关闭
maxclients0设置同一时间最大客户端连接数,默认无限制,Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息。
maxmemoryXXX 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区。配置项值范围列里XXX为数值。

3.9.验证redis是否成功安装

cd /usr/local/redis/bin/./redis-server -v./redis-cli -v

在这里插入图片描述

3.10.运行时出现以下警告

123156:C 23 Jan 2024 22:22:22.467 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add ‘vm.overcommit_memory = 1’ to /etc/sysctl.conf and then reboot or run the command ‘sysctl vm.overcommit_memory=1’ for this to take effect.
在这里插入图片描述

  • 原因:当前系统不允许超量申请内存空间
  • 解决:让当前系统允许超量申请内存空间
# 编辑sysctl.conf文件
vim /etc/sysctl.conf#添加以下行,修改配置启用内存过度分配
vm.overcommit_memory = 1#执行命令"sysctl -p" 或 重启系统,使配置生效
sysctl -p
# 或者使更改生效,运行以下命令
sysctl vm.overcommit_memory=1# 验证更改是否已生效
cat /proc/sys/vm/overcommit_memory
# 返回1,则表示内存过度分配已成功启用

在这里插入图片描述
在这里插入图片描述

3.11.启动redis

cd /usr/local/redis#进入redis安装目录,执行下面命令启动redis服务
./bin/redis-server redis.conf# 查看 Redis 服务器进程
ps -ef | grep redis

在这里插入图片描述

3.12.启动redis-cli测试redis

cd /usr/local/redis#进入redis安装目录,执行下面命令启动redis-cli
./bin/redis-cli

在这里插入图片描述

3.13.关闭 Redis 服务器

./bin/redis-cli shutdown# 查看 Redis 服务器进程
ps -ef | grep redis# kill -9 进程的PID
kill -9 27320

在这里插入图片描述
在这里插入图片描述

四、将redis设置成系统服务

4.1.创建redis服务文件

vim /usr/lib/systemd/system/redis.service
[Unit]
Description=Redis Server
After=network.target[Service]
Type=forking
# 配置成自己的路径
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
ExecStop=/usr/local/redis/bin/redis-cli shutdown
Restart=always[Install]
WantedBy=multi-user.target
  • Description:服务描述
  • After:指定服务依赖的其他服务启动之后再启动
  • Type:指定服务的类型,这里设置为forking,表示服务以fork方式启动
  • ExecStart:指定服务的启动命令
  • ExecStop:指定服务的停止命令
  • Restart:指定服务在退出后是否自动重启
  • WantedBy:指定服务的启动级别

4.2.重新加载服务配置文件使之生效

# 重新加载服务配置文件
systemctl daemon-reload

4.3.服务操作命令

#启动redis服务
systemctl start redis#停止redis服务
systemctl stop redis#重新启动服务
systemctl restart redis#查看服务当前状态
systemctl status redis#设置开机自启动
systemctl enable redis#停止开机自启动
systemctl disable redis

在这里插入图片描述

五、配置Redis环境变量

5.1.编辑环境变量配置文件

vim /etc/profile

5.2.文件末尾添加以下内容

# redis
export REDIS_HOME=/usr/local/redis
export PATH=$PATH:$REDIS_HOME/bin/

在这里插入图片描述

5.3.保存并退出后,刷新配置信息

source /etc/profile

5.4.验证环境变量

redis-server -v
redis-cli -v

在这里插入图片描述
在这里插入图片描述

endl

相关文章:

Linux下安装 Redis7

Linux下安装 Redis7 三、Linux下安装 Redis7【redis-7.2.4.tar.gz】3.1.下载redis的安装包3.1.1.手动下载Redis压缩包并上传【redis-7.2.4.tar.gz】3.1.2.wget工具下载redis-7.2.4.tar.gz 3.2.将安装包进行解压缩3.3.进入redis的安装包3.4.检查是否有gcc 环境3.5.编译和安装并指…...

spire.doc合并word文档

文章目录 spire.doc合并word文档1. 引入maven依赖2. 需要合并的word3. 合并文档代码4. 合并结果 spire.doc合并word文档 1. 引入maven依赖 <repositories><repository><id>com.e-iceblue</id><name>e-iceblue</name><url>https://r…...

蓝桥杯官网填空题(01串的熵)

问题描述 答案提交 这是一道结果填空的题, 你只需要算出结果后提交即可。本题的结果为一 个整数, 在提交答案时只填写这个整数, 填写多余的内容将无法得分。 import java.util.*;public class Main {public static void main(String[] args) {for(double zero1;zero<2333…...

【CodeTop】TOP 100 刷题 51-60

文章目录 51. 缺失的第一个正数题目描述代码与解题思路 52. 训练计划 II题目描述代码与解题思路 53. 子集题目描述代码与解题思路 54. 最小覆盖子串题目描述代码与解题思路 55. 从前序与中序遍历序列构造二叉树题目描述代码与解题思路 56. 零钱兑换题目描述代码与解题思路 57. …...

k8s的图形化工具---rancher

rancher是一个开源的企业级多集群的k8s管理平台。 rancher和k8s的区别&#xff1a;都是为了容器的调度和编排系统。但是rancher不仅可以调度还可以管理整个k8s集群。 rancher自带监控(普罗米修斯) 实验部署 master01 20.0.0.32 node01 20.0.0.34 node02 20.0.0.35 test …...

npm安装卡住问题(最新版)

npm安装卡住问题(最新版) 背景&#xff1a; ​ 最近这两天用npm安装一些包的时候&#xff0c;发现一直卡住&#xff1a; 报错&#xff1a; idealTree:npm: sill idealTree buildDeps之前能用的现在不能用了&#xff0c;我一想&#xff0c;是不是源头的问题&#xff0c;还真是…...

什么是线程死锁

死锁是指两个或两个以上的进程&#xff08;线程&#xff09;在执行过程中&#xff0c;由于竞争资 源或者由于彼此通信而造成的一种阻塞的现象&#xff0c;若无外力作用&#xff0c;它们都将无法推 进下去。此时称系统处于死锁状态或系统产生了死锁&#xff0c;这些永远在互相…...

Django从入门到精通(二)

目录 三、视图 3.1、文件or文件夹 3.2、相对和绝对导入urls 3.3、视图参数requests 3.4、返回值 3.5、响应头 3.6、FBV和CBV FBV 四、静态资源 4.1、静态文件 4.2、媒体文件 五、模板 5.1、寻找html模板 5.2、模板处理的本质 5.3、常见模板语法 5.4、内置模板函…...

建筑物防雷检测安全接地应用解决方案

雷电是一种自然现象&#xff0c;具有极高的电压和电流&#xff0c;对建筑物及其内部设备、人员和财产可能造成严重的危害&#xff0c;如火灾、爆炸、电击、电磁干扰等。因此&#xff0c;建筑物必须采取有效的防雷措施&#xff0c;以保障建筑物的安全和可靠运行。建筑物防雷检测…...

支付宝小程序开发踩坑笔记(支付宝、学习强国小程序)

1、接口请求安卓端回调 success&#xff0c;IOS 端回调 fail 原因&#xff1a;dataType 设置不对&#xff0c;默认是 json 格式&#xff0c;对返回数据会进行 json 解析&#xff0c;如果解析失败&#xff0c;就会回调 fail 。加密传输一般是 text 格式。 2、input 禁止输入空格…...

如何降低微服务复杂度丨云栖大会微服务主题分享实录

作者&#xff1a;谢吉宝 本文整理自阿里云资深技术专家、中间件负责人谢吉宝在2023云栖大会《极简微服务模式&#xff0c;降低微服务复杂度的最佳实践》的分享 2023 云栖大会现场 当面临复杂的挑战时&#xff0c;"分而治之"的方法往往能取得显著的效果。微服务架构…...

openresty 安装, nginx与 openresty

openresty VS nginx Nginx 是一款高性能的 Web 服务器和反向代理服务器&#xff0c;具备基础的功能如HTTP服务、负载均衡、反向代理以及动静分离等。它是许多互联网应用的核心组件&#xff0c;因其模块化和可扩展的设计而受到欢迎。1 OpenResty 是基于 Nginx 的 Web 平台&…...

puppeteer实现截图

Window服务器说明 1.在本地安装 puppeteer 先创建一个本地文件夹puppeteer&#xff0c;我的地址D:\common_workspace\puppeteer 然后使用cmd打开这个文件夹所在位置&#xff0c;再执行如下两条命令即可。 npm install -g cnpm --registryhttps://registry.npm.taobao.orgcnpm …...

【2024Java面试突击】并发编程、线程池面试实战

前言 最近在更新面试突击专栏&#xff0c;我把每一篇将字数都尽量控制在 2000 字以内&#xff0c;可能在文章里边写的没有那么细致&#xff0c;主要是提供一些 问题 以及 回答的思路 &#xff0c;以及 面试中可能忽略的漏洞 &#xff0c;所以在看完文章之后&#xff0c;如果自…...

ASUS华硕无畏Pro15笔记本电脑(M6500QB,M6500QH)工厂模式原厂OEM预装Windows11.22H2系统 含Recovery恢复

原装出厂Windows11系统适用于华硕无畏15笔记本电脑型号&#xff1a;M6500QB和M6500QH 链接&#xff1a;https://pan.baidu.com/s/1AVGLN6-ILIRogOMj48Mk1w?pwdmi7d 提取码&#xff1a;mi7d 带有ASUS RECOVERY恢复功能、自带所有驱动、出厂主题专用壁纸、系统属性联机支持…...

代码随想录算法训练营第三十天|51. N皇后

|51. N皇后 public List<List<String>> solveNQueens(int n) {List<List<String>> res new ArrayList<>();return null;}void backtracking1(int n, int row, int[] columns) {// 是否在所有n行里都摆放好了皇后?if (row n) {count;// 找到了…...

Kubernetes(K8S)各种攻击方法

1. 准备工作 1.1. metarget使用 项目地址(教程):https://github.com/Metarget/metarget/blob/master/README-zh.md 注意:推荐在Ubuntu 18.04(推荐)安装。 1.1.1. 安装metarget git clone https://github.com/Metarget/metarget.git cd metarget/ sudo apt install pyt…...

【MySQL】内外连接

内外连接 一、内连接二、外连接1、左外连接2、右外连接 表的连接分为内连和外连。 一、内连接 内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选。只不过为了让sql的可读性更好&#xff0c;我们使用其他的关键字进行内连接。 语法&#xff1a; SELECT ... FRO…...

selenium执行出现异常,SessionNotCreatedException ChromeDriver only supports

问题现状&#xff1a; 运行程序报错&#xff1a; selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 114 Current browser version is 121.0.6167.85 with binary path /App…...

Flink:快速掌握批处理数据源的创建方法

Flink 社区最近 “基于FLIP-27” 设计了新的 Source 框架 。一些连接器&#xff08;API&#xff09;已迁移到这个新框架。本文介绍了如何使用这个新框架创建批处理源。 它是在为Cassandra实现Flink 批处理源时构建的。如果您有兴趣贡献或迁移连接器&#xff0c;这篇文章非常适合…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

centos 7 部署awstats 网站访问检测

一、基础环境准备&#xff08;两种安装方式都要做&#xff09; bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats&#xff0…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下&#xff0c;虚拟教学实训宛如一颗璀璨的新星&#xff0c;正发挥着不可或缺且日益凸显的关键作用&#xff0c;源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例&#xff0c;汽车生产线上各类…...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...