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


    前言

    记录一次在服务器上安装 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
    
    • 1
    • 2
    • 3
    • 4

    3.上传安装包

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

    4.解压安装包

    tar -zxvf redis-X.X.X.tar.gz
    
    • 1

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

    cd redis-7.2.1/
    
    • 1

    在这里插入图片描述

    5.依赖安装

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

    yum install -y gcc tcl
    
    • 1

    在这里插入图片描述

    6.编译

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

    make && make install
    
    • 1

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

    cd /usr/local/bin
    
    • 1

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

    • 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
    
    • 1
    • 2

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

    redis-server
    
    • 1

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

    2)指定配置启动

    2.1)备份配置文件

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

    cp redis.conf redis.conf.bck
    
    • 1

    在这里插入图片描述

    2.2)修改配置文件信息

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

    vim redis.conf
    
    • 1

    如果用 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    其他常见配置

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

    2.3)启动指定配置 redis

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

    在这里插入图片描述

    3)开机自启

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

    3.1)创建系统服务文件

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

    vi /etc/systemd/system/redis.service
    
    • 1

    具体内容如下:

    [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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 注意:这里 ExecStart 后面配置文件的路径不要写错(根据自身实际情况修改)

    3.2)重载系统服务

    然后重载系统服务

    systemctl daemon-reload
    
    • 1

    在这里插入图片描述

    3.3)开机自启动操作

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

    # 启动
    systemctl start redis
    # 停止
    systemctl stop redis
    # 重启
    systemctl restart redis
    # 查看状态
    systemctl status redis
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

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

    systemctl enable redis
    
    • 1

    在这里插入图片描述

    四、停止

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

    systemctl stop redis
    
    • 1

    参考

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

  • 相关阅读:
    Pico neo3+Unity开发记录
    Dataset类分批加载数据集
    使用 Vue.js 和 Element Plus 实现自动完成搜索功能
    2011年下半年 系统架构设计师 下午试卷 II
    cnpm install时,报错TypeError: randomUUID is not a function无法初始化
    python经典百题之前N项和
    Mongodb----部署副本集 实现读写分离
    ✨✨✨if __name__ == “__main__“ 在 Python 中意味着什么?
    Doris学习笔记之监控
    解决下拉菜单的过渡问题
  • 原文地址:https://blog.csdn.net/ic_xcc/article/details/133027232