Redis系列:Linux下部署Redis 6.x 版本

时间:2022-07-24
本文章向大家介绍Redis系列:Linux下部署Redis 6.x 版本,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
现在的互联网项目无论项目大小,都或多或少使用到Redis。其中Redis最常见的使用场景:
  • 不经常变化的数据缓存
  • 分布式session,主要是记录用户的登录状态
  • 分布式锁,主要对独占资源的锁定

Redis有多种部署模式,本篇先介绍一下单机部署

0x01:下载Redis

官网:https://redis.io/

从下载链接进去,可以发现提供了三个版本:非稳定版本、稳定版本和Docker版本

直接下载稳定版本

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

0x02:安装Redis

编译 redis-6.x,要求 C11 编译器,否则会遇到大量如下所示的错误:

server.h:1051:5: 错误:expected specifier-qualifier-list before ‘_Atomic’
server.c:1032:31: 错误:‘struct redisServer’没有名为‘logfile’的成员

主要原因是从 redis-6.x 开始的多线程代码依赖C标准库中的新增类型 _Atomic 。但是注意 gcc 从 4.9 版本才开始正式和完整地支持 stdatomic(gcc-4.8.5 部分支持)。centos7默认的 gcc 版本为:4.8.5 < 5.3 无法编译

yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils

#临时有效,退出 shell 或重启会恢复原 gcc 版本
scl enable devtoolset-9 bash

#长期有效
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
  • 解压redis-6.0.7.tar.gz ,并把redis-6.0.7目录移动到/usr/local目录
tar -zxvf redis-6.0.7.tar.gz 
mv redis-6.0.7 /usr/local
cd /usr/local/redis-6.0.7/
  • 编译
make
cd /usr/local/redis-6.0.7/src
make install PREFIX=/usr/local/redis

最终会安装到/usr/local/redis目录下

  • 移动配置文件到安装目录下
cd /usr/local/redis-6.0.7/
mkdir /usr/local/redis/etc
cp redis.conf  /usr/local/redis/etc/

0x03:启动Redis

  • 对redis.conf配置文件进行修改
vi /usr/local/redis/etc/redis.conf 

将daemonize no 改成daemonize yes,表示后台启动的意思

  • 配置redis开机启动
vi /etc/rc.local 

在里面添加内容: (意思就是开机调用这段开启redis的命令)

/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
  • 启动Redis
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

将redis-cli、redis-server命令拷贝到/usr/local/bin目录下,让这两个命令可以在任意目录下直接使用

cp /usr/local/redis/bin/redis-server /usr/local/bin/
cp /usr/local/redis/bin/redis-cli /usr/local/bin/

0x04:Redis基本使用

  • 启动
redis-server /usr/local/redis/etc/redis.conf 
  • 停止
pkill redis
  • 卸载
#删除安装目录
rm -rf /usr/local/redis
#删除所有redis相关命令脚本
rm -rf /usr/bin/redis-* 
  • 验证redis服务是否启动成功
redis-cli