Redis系列:Linux下部署Redis 6.x 版本
时间:2022-07-24
本文章向大家介绍Redis系列:Linux下部署Redis 6.x 版本,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
- 不经常变化的数据缓存
- 分布式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
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Saltstack_使用指南07_远程执行-执行模块
- 学习从拥有一支好笔开始
- Saltstack_使用指南08_远程执行-返回程序
- 人生苦短,何不用vim装13
- Saltstack_使用指南09_远程执行-编写执行模块
- 如何安装FreeIPA
- 编译及使用hive-testbench生成Hive基准测试数据
- 树酱的前端知识体系构建(下)
- Babel配置傻傻看不懂?
- Saltstack_使用指南10_配置管理-状态模块
- Saltstack_使用指南11_配置管理-状态之间依赖关系 4.1. 部署架构4.2. Apache和PHP的SLS【正向依赖】4.3. mariadb 的 SLS
- 前端工程化之CICD那点破事
- Saltstack_使用指南12_配置管理-jinja模板 4.1. 部署架构4.2. 本章涉及的 pillar 的信息4.3. 配置文件 httpd.conf 修改
- Saltstack_使用指南13_runner的job和manage与execution的saltutil 5.1. master执行5.2. 查看当前活动的jobs
- Saltstack_使用指南14_无master 3.1. 常规信息3.2. grains设置3.3. pillar设置