• redis的下载和安装详解


    一、下载redis安装

    进入redis官网查看当前稳定版本:

    https://redis.io/download/
    
    • 1

    在这里插入图片描述

    发现此时的稳定版本是6.2.4

    此时可以去这个网站下载6.2.4稳定版本的tar包。
    在这里插入图片描述

    暂时不考虑不在windows上使用redis,那样将无法发挥redis的性能

    二、上传tar包到虚拟机并解压

    2.1 新建存放目录并上传tar包

    # 进入/usr/local目录
    cd /usr/local/
    # 新建soft目录存放软件
    mkdir soft
    # 进入刚新建的soft目录下
    cd soft
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    完成上述步骤使用finalshell上传redis安装包到/usr/local/soft目录下:
    在这里插入图片描述

    2.2 解压tar包

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

    三、安装编译环境并安装redis

    3.1 下载安装最新版的gcc编译器

    1)安装C 语言的编译环境

    # -y 对所有提问都说yes
    yum -y install gcc
    
    • 1
    • 2

    2)查看gcc版本

    gcc --version
    
    • 1

    3.2 编译redis

    # 进入redis安装目录
    cd /usr/local/soft/redis-6.2.4
    # 执行编译操作
    make
    
    • 1
    • 2
    • 3
    • 4

    如果没有安装gcc直接进行make会报错:

    # 表示没有这个文件
    Jemalloc/jemalloc.h
    
    • 1
    • 2

    解决方案:

    • 安装gcc
    • 运行make distclean
    • 然后再进行make

    3.2 安装redis

    编译完成之后,可以执行安装命令。

    make install
    
    • 1

    安装完成之后/usr/local/bin目录下将会多出一些命令:
    在这里插入图片描述

    命令解析:

    • redis-benchmark:测试电脑性能的
    • redis-check-aof -> redis-server:检查修复aof文件的,本质是执行了redis-server文件
    • redis-check-rdb -> redis-server:检查修复rdb文件的,本质是执行了redis-server文件
    • redis-cliredis自带的客户端,可以使用它来连接redis服务端。(这个自带的通常不会使用)
    • redis-sentinelredis哨兵,用于监控redis集群中Master状态的工具。
    • redis-server:启动服务

    四、启动redis

    4.1 前台启动

    # 这个命令已经在环境变量当中,可以在任何位置使用它来启动redis
    redis-server
    
    • 1
    • 2

    在这里插入图片描述

    命令行窗口不能关闭,否则服务器停止。

    4.2 后台启动

    1)在/root目录下创建myredis目录

    cd /root
    mkdir myredis
    cd /myredis
    
    • 1
    • 2
    • 3

    2)拷贝一份redis.conf到myredis目录

    cp /usr/local/soft/redis-6.2.4/redis.conf /root/myredis
    
    • 1

    3)修改配置文件,配置让服务在后台启动

    vim redis.conf
    
    • 1

    247行把daemonize no改成yes
    在这里插入图片描述

    配置完成后Esc键退出插入状态,:wq保存并退出。

    4)使用新的配置文件启动redis

    redis-server /root/myredis/redis.conf
    
    • 1

    这样服务启动后就不会占用全屏窗口。

    不放心的话也可以用下列命令查看redis进程是否在运行:

    ps -ef | grep redis
    
    • 1

    五、关闭redis

    5.1 单实例关闭

    redis-cli shutdown
    
    • 1

    也可以进入终端后关闭当前实例:

    # 先进入redis客户端终端
    redis-cli
    # 在终端里关闭redis
    shutdown
    
    • 1
    • 2
    • 3
    • 4

    5.2 多实例关闭

    redis-cli -p 6379 shutdown
    
    • 1

    多实例时关闭时需要指定端口关闭

    六、docker上部署redis

    容器化部署已经是越来越主流的方式,比起在Linux上直接安装redis要更加的方便和快捷。

    6.1 在dockerHub上搜索redis

    在这里插入图片描述

    这里会有redis镜像的详细使用说明,认准绿色部分的官方镜像即可。

    overview中就是如何部署redis容器的文档,右边黑框中的命令就是拉取redis镜像的命令。

    6.2 创建本机存放redis配置和数据目录

    # 创建 redis 配置存放目录
    mkdir -p /usr/local/docker/redis/conf
    # 创建 redis 数据存放目录
    mkdir -p /usr/local/docker/redis/data
    
    # 给刚创建的两个目录授权
    chmod 777 /usr/local/docker/redis/conf
    chmod 777 /usr/local/docker/redis/data
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    之所以这里创建目录,是想使用docker数据卷挂载的第二种方式,直接使用磁盘挂载。

    意思就是不使用数据卷,直接把本机的某个目录和docker容器中的某个目录进行关联。

    这样只需要在本机上操作者两个目录中的内容,就可以直接同步修改docker容器中对应的目录中的内容。

    使用磁盘挂载的话,目录需要自己维护。而使用数据卷挂载,docker会自动维护目录,但是目录比较深。

    如果对数据卷不太了解,可以看我docker专栏下关于数据卷的介绍

    6.3 运行容器

    # 启动 redis 容器
    docker run 
    	-d \
    	-p 6379:6379 \
    	--name myRedis \
    	--restart=always \
    	-v /usr/local/docker/redis/data:/data \
    	-v /usr/local/docker/redis/conf/redis.conf:/etc/redis \
    	redis
    	redis-server /etc/redis/redis.conf
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    docker镜像中的redis默认都是没有配置文件的,也就是说/etc/redis目录下是空的
    需要自己准备一个配置文件,放在/usr/local/docker/redis/conf/目录下

    选项解析:

    -d:后台运行

    -p:将宿主机端口和容器端口相关联,是指可以用宿主机的6379端口访问容器的6379端口

    --name:启动镜像后,生成的容器的名称

    --restart:配置重启策略是always

    ​ 这样如果容器redis无论什么情况停止了,docker将自动重新启动redis容器

    -v /usr/local/docker/redis/data:/data \:挂载redis的数据目录

    -v /usr/local/docker/redis/conf/redis.conf:/etc/redis \:挂载redis的配置文件目录

    redis:需要启动的用来创建容器的镜像名称

    6.4 停止运行容器

    docker stop myRedis
    
    • 1

    6.5 停止后重新运行容器

    docker start myRedis
    
    • 1

    6.6 重启容器

    docker restart myRedis
    
    • 1

    6.7 删除容器

    # -f 强制移除正在运行的容器(不写-f只能移除不在运行的容器)
    docker rm -f myRedis
    
    • 1
    • 2
  • 相关阅读:
    vue3 provide,inject使用
    volatile 关键字有什么用?它的实现原理是什么?
    【图解设计模式】适配器模式
    详解【计算机类&面试真题】军队文职考试——第6期:何为虚拟局域网VLAN?| 交换机和路由器的区别 | 自适应网卡只有红灯闪烁,而绿灯不亮,这种情况正常吗?| 附:Python实现HTTP请求
    C++:C++编程语言学习之逻辑控制语句(循环语句&判断语句)&异常处理(try-catch-throw)的简介、案例应用之详细攻略
    「Python 」面向对象三大特性之继承性——(概念、语法、特点、相关术语、注意事项、代码示例)
    ThingsBoard IoT Gateway MQTT 连接器配置 第二部分
    Word处理控件Aspose.Words功能演示:在 Python 中将 Word 文档转换为 PNG、JPEG 或 BMP
    CS语音键在编程中的应用及相关源代码
    十、Docker 常用命令
  • 原文地址:https://blog.csdn.net/qq_44749491/article/details/128048648