Redis新版本(v6.0及之后)的安装配置图文教程(一)

本文档详细记录了Redis新版本(v6.0及以后)在Linux环境下的安装配置步骤,包括下载Redis软件包、解决GCC版本问题、编译安装、测试等关键环节。在安装过程中,由于GCC版本不兼容导致的编译错误,通过升级GCC至8.3.1版本得到解决。此外,还提到了tcl依赖包的安装,确保所有测试都能顺利通过。
摘要由CSDN通过智能技术生成

Redis新版本(v6.0及之后)的安装配置图文教程(一)

Redis新版本(v6.0及之后)的安装配置图文教程(一)

 

标签:redis linux

 

Redis官网推出新版本(v6.0及之后)的应用,其的安装与配置有所不同。下文完整地记录了新版本的安装与配置的要点,以及安装过程的注意事项。

 

1、在Redis官网中(https://redis.io/)查看最新稳定版本的软件包,复制下载地址

image

2、可直接将软件包下载到Linux下

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

 

image

 

 

3、解压软件包,并进入解压后的目录,使用make 命令编译软件

tar -zxvf redis-6.0.5.tar.gz

image

4、编译过程中可能出现如下报错,部分日志截图如下。(报错原因:Linux一般默认GCC版本是4.8.5,Redis新版本使用了更高版本的GCC)

image

(截取部分报错日志)

server.c:5153:94: 错误:‘struct redisServer’没有名为‘unixsocket’的成员

            serverLog(LL_NOTICE,"The server is now ready to accept connections at %s", server.unixsocket);

                                                                                             ^

server.c:5154:19: 错误:‘struct redisServer’没有名为‘supervised_mode’的成员

        if (server.supervised_mode == SUPERVISED_SYSTEMD) {

                  ^

server.c:5155:24: 错误:‘struct redisServer’没有名为‘masterhost’的成员

            if (!server.masterhost) {

                       ^

server.c:5168:15: 错误:‘struct redisServer’没有名为‘maxmemory’的成员

    if (server.maxmemory > 0 && server.maxmemory < 1024*1024) {

              ^

server.c:5168:39: 错误:‘struct redisServer’没有名为‘maxmemory’的成员

    if (server.maxmemory > 0 && server.maxmemory < 1024*1024) {

                                      ^

server.c:5169:176: 错误:‘struct redisServer’没有名为‘maxmemory’的成员

        serverLog(LL_WARNING,"WARNING: You specified a maxmemory value that is less than 1MB (current value is %llu bytes). Are you sure this is what you really want?", server.maxmemory);

                                                                                                                                                                               ^

server.c:5172:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员

    redisSetCpuAffinity(server.server_cpulist);

                              ^

server.c: 在函数‘hasActiveChildProcess’中:

server.c:1476:1: 警告:在有返回值的函数中,控制流程到达函数尾 [-Wreturn-type]

}

^

server.c: 在函数‘allPersistenceDisabled’中:

server.c:1482:1: 警告:在有返回值的函数中,控制流程到达函数尾 [-Wreturn-type]

}

^

server.c: 在函数‘writeCommandsDeniedByDiskError’中:

server.c:3790:1: 警告:在有返回值的函数中,控制流程到达函数尾 [-Wreturn-type]

}

^

server.c: 在函数‘iAmMaster’中:

server.c:4964:1: 警告:在有返回值的函数中,控制流程到达函数尾 [-Wreturn-type]

}

^

make[1]: *** [server.o] 错误 1

make[1]: 离开目录“/data/software/redis-6.0.5/src”

make: *** [all] 错误 2

 

 

5、所以要升级gcc的版本,接下来使用yum的方式编译安装GCC,

安装scl源

yum install centos-release-scl scl-utils-build

image

 

6、安装8版本的gcc、gcc-c++、gdb工具链

yum install -y devtoolset-8-toolchain

image

7、如下设置,由图可见,GCC版本已升级成8.3.1版本

scl enable devtoolset-8 bash

gcc --version

image

 

8、make编译成功后,可用命令 make test 进行测试下(该步骤可选)

image

 

若出现【Redis】编译错误zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory

使用命令:make MALLOC=libc

详情参阅:https://www.cnblogs.com/richerdyoung/p/8066373.html

 

9、make test过程中可能缺少tcl的依赖包,通过命令 yum install tcl -y可安装

image

10、最后,Redis安装完成且通过所有测试项。

image

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI知识分享

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值