【零基础部署】Docker 部署 Redis 保姆级教程
Redis 是最流行的内存数据库之一,广泛用于缓存、消息队列、会话存储等场景。本教程将手把手教你用 Docker 部署 Redis,从基础配置到生产环境优化,零基础也能跟着做。
1. 什么是 Redis?
1.1 Redis 简介
Redis(Remote Dictionary Server)是一个开源的内存数据结构存储系统,主要特点:
- 高性能:数据存储在内存中,读写速度极快(10 万+ QPS)
- 丰富的数据结构:String、Hash、List、Set、Sorted Set 等
- 持久化:支持 RDB 和 AOF 两种持久化方式
- 高可用:支持主从复制、哨兵模式、集群模式
1.2 典型应用场景
| 场景 | 说明 | 示例 |
|---|---|---|
| 缓存 | 热点数据缓存,减轻数据库压力 | 用户信息、商品详情 |
| 会话存储 | 分布式会话管理 | Session 共享 |
| 消息队列 | 发布/订阅模式 | 异步任务处理 |
| 排行榜 | Sorted Set 实现实时排行 | 游戏排行榜 |
| 计数器 | 原子操作实现计数 | 点赞数、浏览量 |
| 分布式锁 | SETNX 实现分布式锁 | 秒杀系统 |
2. 环境准备
2.1 硬件要求
| 配置项 | 最低要求 | 推荐配置 |
|---|---|---|
| 内存 | 1GB | 4GB+(取决于数据量) |
| 磁盘 | 1GB 可用空间 | 10GB+(用于持久化) |
| CPU | 1 核 | 2 核+ |
注意:Redis 是内存数据库,数据主要存储在内存中,内存大小决定了能存储多少数据。
2.2 软件要求
- Docker 20.10+
- Docker Compose v2(可选,用于生产环境)
3. 使用 Docker 部署 Redis
3.1 快速启动(推荐新手)
最简单的方式是直接使用官方镜像:
# 创建数据目录mkdir-p~/redis-data# 运行 Redis 容器dockerrun-d\--nameredis\-p6379:6379\-v~/redis-data:/data\redis:latest\redis-server--appendonlyyes参数说明:
-d:后台运行--name redis:容器名称-p 6379:6379:映射端口-v ~/redis-data:/data:数据持久化redis-server --appendonly yes:开启 AOF 持久化
3.2 使用 Docker Compose(推荐生产环境)
创建docker-compose.yml文件:
version:'3.8'services:redis:image:redis:7-alpinecontainer_name:redisports:-"6379:6379"volumes:-redis-data:/data-./redis.conf:/usr/local/etc/redis/redis.confcommand:redis-server /usr/local/etc/redis/redis.confrestart:unless-stoppedhealthcheck:test:["CMD","redis-cli","ping"]interval:10stimeout:5sretries:3volumes:redis-data:启动服务:
# 创建配置文件(可选)cat>redis.conf<<'EOF' # 基础配置 bind 0.0.0.0 port 6379 daemonize no protected-mode no # 持久化配置 appendonly yes appendfsync everysec save 900 1 save 300 10 save 60 10000 # 内存配置 maxmemory 256mb maxmemory-policy allkeys-lru # 日志配置 loglevel notice logfile "" EOF# 启动服务dockercompose up-d# 查看日志dockercompose logs-f# 检查服务状态dockercomposeps3.3 带密码的部署
version:'3.8'services:redis:image:redis:7-alpinecontainer_name:redisports:-"6379:6379"volumes