- 不经常变化的数据缓存
- 分布式session,主要是记录用户的登录状态
- 分布式锁,主要对独占资源的锁定
Redis有多种部署模式,本篇先介绍一下单机部署
0x01:下载Redis
代码语言:javascript复制官网:https://redis.io/
从下载链接进去,可以发现提供了三个版本:非稳定版本、稳定版本和Docker版本
直接下载稳定版本
代码语言:javascript复制wget http://download.redis.io/releases/redis-6.0.7.tar.gz
0x02:安装Redis
编译 redis-6.x,要求 C11 编译器,否则会遇到大量如下所示的错误:
代码语言:javascript复制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 无法编译
代码语言:javascript复制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的命令)
代码语言:javascript复制/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目录下,让这两个命令可以在任意目录下直接使用
代码语言:javascript复制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