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

http://www.lryc.cn/news/287329.html

相关文章:

  • spire.doc合并word文档
  • 蓝桥杯官网填空题(01串的熵)
  • 【CodeTop】TOP 100 刷题 51-60
  • k8s的图形化工具---rancher
  • npm安装卡住问题(最新版)
  • 什么是线程死锁
  • Django从入门到精通(二)
  • 建筑物防雷检测安全接地应用解决方案
  • 支付宝小程序开发踩坑笔记(支付宝、学习强国小程序)
  • 如何降低微服务复杂度丨云栖大会微服务主题分享实录
  • openresty 安装, nginx与 openresty
  • puppeteer实现截图
  • 【2024Java面试突击】并发编程、线程池面试实战
  • ASUS华硕无畏Pro15笔记本电脑(M6500QB,M6500QH)工厂模式原厂OEM预装Windows11.22H2系统 含Recovery恢复
  • 代码随想录算法训练营第三十天|51. N皇后
  • Kubernetes(K8S)各种攻击方法
  • 【MySQL】内外连接
  • selenium执行出现异常,SessionNotCreatedException ChromeDriver only supports
  • Flink:快速掌握批处理数据源的创建方法
  • 基于cubeMX的正点原子miniSTM32对W25Q64的存储使用
  • C++笔记(三)
  • c语言不定参数
  • 云手机与实体手机的对比
  • diffusion 和 gan 的优缺点对比
  • VC++中使用OpenCV进行人脸检测
  • 11Docker数据持久化
  • RK3588平台开发系列讲解(视频篇)RKMedia框架
  • Vue3 Teleport 将组件传送到外层DOM位置
  • 【学网攻】 第(5)节 -- Cisco VTP的使用
  • uniapp复选框 实现排他选项