Redis 是非常流行的缓存中间件,其具有功能强大和部署简单的优势,我们在 CentOS 上使用 yum 就能够在线安装 Redis。之所以要介绍使用 Docker 进行容器化部署 Redis ,主要原因是当前容器化部署是主流,而且能够保障服务器文件系统的整洁。
本篇博客主要介绍如何使用 docker-compose 快速部署单机版 Redis (仅仅只是部署 Redis),之前的博客已经介绍过如何连接和操作 Redis ,因此这里就不再赘述了。后面也会介绍如何部署和使用 Redis 集群。
一、环境准备
我的虚拟机操作系统是 CentOS7(ip 地址是 192.168.136.128),已经安装好了 docker 和 docker-compose
有关 docker 和 docker-compose 的安装,可以参考我的博客:https://www.cnblogs.com/studyjobs/p/17460227.html
另外由于 docker-compose 可执行文件的下载,需要访问 GitHub ,国内访问速度很慢,也可能无法打开。建议你下载 Watt Toolkit 加速器,它能够让你在任何时候都轻松打开 GitHub 网站,非常好用。
Watt Toolkit 加速器的下载地址为:https://steampp.net/download
下载完成后,运行界面如下图所示,只要在加速器上,勾选 GitHub 然后点击【一键加速】,即可轻松打开 GitHub。
二、搭建过程
在虚拟机上新建一个目录 /app/redis ,在其下面创建一个目录 data,用于存放 redis 的备份数据。
在 /app/redis 的目录下,我们创建 2 个文件,一个是 redis.conf 配置文件,一个是 docker-compose.yml 启动文件。
对于 redis.conf 配置文件,内容如下所示:
# 开启保护
protected-mode no
# 绑定监听IP地址
bind 0.0.0.0
# 自定义密码
requirepass root
# 启动端口
port 6379
# redis 默认就开启 rdb 全量备份,以下是默认的备份触发机制
# 900s内至少一次写操作则执行bgsave进行RDB持久化
save 900 1
save 300 10
save 60 10000
# 是否压缩 rdb 备份文件,默认是压缩
# 如果 redis 承载的数据量非常大的话,建议不要压缩
# 因为压缩过程中需要耗费大量 cpu 和内存资源,磁盘相对而言比较廉价
rdbcompression yes
# rdb 备份的文件名
dbfilename dump.rdb
# Redis 备份文件存储目录,注意:该路径是 docker 容器内的路径
dir /data
# 是否开启 aof 增量备份功能,默认是否
appendonly yes
# AOF文件的名称,这里使用默认值
appendfilename appendonly.aof
# aof 增量备份的策略,这里是每秒钟一次,将累积的写命令持久化到硬盘中
appendfsync everysec
对于单机版的 Redis 来说,一般情况下会同时使用 rdb 和 aof 两种备份机制,对比图如下:
对于 docker-compose.yml 启动文件的内容,如下所示:
version: "3.5"
services:
redis:
image: redis
container_name: redis
restart: always
privileged: true
ports:
- 6379:6379
volumes:
- /app/redis/data:/data
- /app/redis/redis.conf:/etc/redis.conf
command:
redis-server /etc/redis.conf
最后在 docker-compose.yml 所在目录,运行 docker-compose up -d
即可启动 Redis
使用 RDM 客户端工具连接部署好的 Redis :
在 RDM 客户端工具上,可以打开控制台,编写操作 Redis 的命令进行测试:
OK,这样就说明已经部署成功了,非常简单。