• linux安装redis(保姆级-安装包方式安装-版本6.2.7-解决aof持久化问题)


    目录

    linux安装redis 

    下载redis安装包

    Linux服务器准备

    选择安装位置

    下载Redis安装包

    解压Redis安装包

    make编译

    前台启动Redis服务

    后台启动Redis服务

    公网链接修改参数

    后台启动修改参数

    后台启动Redis命令

    杀死线程

    Linux下Redis性能测试

    Redis登录操作

    基础命令

    公网链接Redis

    redis密码设置-本次服务

    redis密码设置-永久修改

    退出redis-cli

    杀掉redis进程 

    redis kill掉进程数据丢失解决方案


    linux安装redis 

    下载redis安装包

    redis各类版本下载列表

    获取到下载地址:

    http://download.redis.io/releases/redis-6.2.7.tar.gz

    咱们Linux使用wget下载就行,就不需要特意下载到本地了啊。

    Linux服务器准备

    我这里选了一个比较大的服务一会测试一下性能

    流量拉满

    直接创建完毕。

    通过Xshell链接成功

    选择安装位置

    这里选择在/opt文件夹下创建一个soft来存放咱们的Redis

    1. cd /opt/
    2. mkdir soft
    3. cd soft

    下载Redis安装包

    wget http://download.redis.io/releases/redis-6.2.7.tar.gz
    

    解压Redis安装包

    tar -zxvf redis-6.2.7.tar.gz

    解压完毕ls查看一下 

    make编译

    1. cd redis-6.2.7/
    2. make

    编译需要的时间比较长,并且要求系统有gcc才能编译。阿里的Linux服务是自带的。 

    前台启动Redis服务

    在Redis文件夹下有一个src文件下,这个文件夹内有启动的脚本。

    所以我们直接在src下执行这个脚本就可以。

    1. cd src
    2. ./redis-server

    那么现在问题来了,前台启动就无法操作了,所以我们要设置后台启动。

    后台启动Redis服务

    先退回到redis的根目录

    cd ..

    这里我们能看到redis.conf配置文件,我们需要修改一下,顺便把公网链接打开。

    vi redis.conf

    公网链接修改参数

    分别是75行和94行

    后台启动修改参数

    第256行

    保存修改,先按esc后输入:wq回车

    :wq

    后台启动Redis命令

    重新进入src,并通过配置文件启动redis-server

    1. cd src
    2. ./redis-server /opt/soft/redis-6.2.7/redis.conf

    查看服务是否启动

    ps -ef | grep redis
    

    杀死线程

    可以在查看中看到线程的id,通过kill -9 线程id就行杀死

    kill -9 6274

    Linux下Redis性能测试

    由于redis-benchmark脚本文件就在src下所以直接执行即可。

    ./redis-benchmark -h localhost -p 6379 -c 100 -n 100000
    

    简单中文翻译: 吞吐量说明:每秒钟请求203252次,总延迟(微秒),平均延迟0.438微秒,最小0.144微秒,后面是50%95%99%最长的请求时间。

    这个性能还是可以的,一般自己电脑也就是3万左右,这个能到20万还多。

    Redis登录操作

    ./redis-cli
    

    基础命令

    set key value

    get key 

    公网链接Redis

    阿里的安全组里面我设置了6379端口号是可以访问的。

    1. systemctl status firewalld --查看防火墙服务状态(详细)
    2. service firewalld stop --关闭防火墙
    3. service firewalld start --开启防火墙
    4. systemctl disable firewalld --关闭开机启动

    可以看到,防火墙是关闭状态的。 

    由于没有设置密码,并且咱们在修改后台启动的时候已经修改的对应配置,在这里就能直接链接了。

    这个是刚才的配置

    redis密码设置-本次服务

    刚才公网没有密码就链接上了,肯定是不安全的,那么我们设置一下密码:

    查看密码

    config get requirepass
    

    可以看到是空的

    设置密码

    config set requirepass abcd1234
    

    设置成功,这回就无法直接使用公网地址链接了:

    我们添加上密码

    可以看到,有了密码就能链接上了。

    redis密码设置-永久修改

    永久修改需要处理配置文件,首先,我们需要在redis-conf中找到requirepass,并在后面加上密码。

    退出redis-cli

    exit
    

    杀掉redis进程 

    1. ps -ef | grep redis
    2. kill -9 6274

    进入到Redis根目录

    cd ..

    修改redis.conf配置文件

    vi redis.conf
    

    由于是903行,所以需要快速跳过去,使用903gg命令就直接过去了,但是需要自己键盘输入,没法复制。

    到了903行,去掉前面的注释,改一下后面的密码即可【:wq】保存。

    再次启动Redis服务,登录并且使用【auth指定密码】

    auth abcd1234

     

     

    redis kill掉进程数据丢失解决方案

    默认情况下,是快照rdb的持久化方式,将内存中的数据以快照的方式写入二进制文件中,默认的文件名是dump.rdb

    这种方式不能完全保证数据持久化,因为是定时保存,所以当redis服务kill掉,就会丢失一部分数据,而且数据量大,写操作多的情况下,会引起大量的磁盘IO操作,会影响性能。

    所以还要在使用aof做持久化,每一个写命令都通过write函数追加到appendonly.aof中,

    需要将1255行的aof打开,这里是Redis6.2.7版本

    修改aof持久化的方式 appendonly为yes后【:wq】保存。

    再起启动并杀死Redis做测试。

    确认问题解决:

    这个Redis的吞吐量能让一个几万用户量的App正常运行了。

    希望能给大家创造更多的价值。

  • 相关阅读:
    企业级数据中台应用架构和技术架构
    java测试private
    LeetCode刷题小记 八、【回溯算法】
    掌握面向对象测试与传统测试模式的区别
    MySQL 是怎样运行的:单表访问方法及基于成本的优化
    Django后端开发——中间件
    详解中小微风控中的财税票数据
    R语言获取data.table分组下每个分组的第一条数据
    河北首家城商行传统核心业务国产化,TDSQL突破三“最”为秦皇岛银行保驾护航
    kafka connector
  • 原文地址:https://blog.csdn.net/feng8403000/article/details/126818383