Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 的 NoSQL 数据库,并提供多种语言的 API。这里介绍通过 docker 和 docker-compose 两种安装 redis 的方式。
1.目录结构
docker-compose 和 redis 相关的目录和文件存储结构如下:
root@debian ~/redis # tree
.
├── conf
│ └── redis.conf ----redis配置文件
├── docker-compose.yml ----compose配置文件
├── log
│ └── redis.log ----redis日志文件
├── redis
│ └── redis.pid ----redis进城文件
└── redis_db
└── dump.rdb ----redis数据存储文件
2.redis.conf 配置文件内容
# ==================================基本配置==================================
# 关闭保护模式
protected-mode no
# 设置端口
port 6379
# 允许所有 IP 远程访问
bind 0.0.0.0
# 前台运行,如果需要后台运行可以改为 yes
daemonize no
# 存放 Redis 进程 ID 的文件路径
pidfile /var/run/redis/redis.pid
# ==================================数据库配置==================================
# 设置数据库数量(默认:16),Redis 使用数据库索引从 0 到 15
databases 16
# 是否启用 AOF 持久化,默认为 "no"
appendonly no
# ==================================日志配置==================================
# 日志级别
loglevel notice
# 日志文件位置
logfile /var/log/redis/redis.log
# ==================================数据持久化==================================
# 每 15 分钟保存快照,如果至少有 1 个键被修改
save 900 1
# 每 5 分钟保存快照,如果至少有 10 个键被修改
save 300 10
# 每 60 秒保存快照,如果至少有 10000 个键被修改
save 60 10000
# 在后台保存发生错误时停止写入
stop-writes-on-bgsave-error yes
# 启用 RDB 文件压缩
rdbcompression yes
# RDB 文件名称
dbfilename dump.rdb
# 数据存储目录
dir /var/lib/redis
# ==================================安全配置==================================
# 设置访问 Redis 的密码
requirepass Password@2
# ==================================内存管理==================================
# 设置最大内存为 256MB
maxmemory 256mb
# 只在设置过期时间的键中使用 LRU 策略
maxmemory-policy volatile-lru
# ==================================客户端输出限制==================================
# 正常客户端的输出缓冲区限制
client-output-buffer-limit normal 0 0 0
# ==================================性能配置==================================
# 禁用超时
timeout 0
# 设置事件循环频率
hz 10
3.docker-compose.yml 配置文件内容
version: "3.8"
services:
redis:
image: redis:7.4.1
container_name: redis
restart: always
environment:
- TZ=Asia/Shanghai
volumes:
- ./log:/var/log/redis
- ./conf/redis.conf:/etc/redis/redis.conf:ro
- ./redis:/var/run/redis/
- ./redis_db:/var/lib/redis
entrypoint: sh -c "mkdir -p /var/log/redis && chown -R 999:root /var/log/redis && exec redis-server /etc/redis/redis.conf"
ports:
- 16379:6379
- 启动
docker-compose up -d
评论 (0)