Skip to content

Redis

使用官方镜像 redis:6-alpine 进行部署

docker-compose.yaml
yaml
version: '3'

services:
  redis:
    image: redis:6.2.7
    restart: always
    container_name: redis
    ports:
      - '6379:6379'
    environment:
      TZ: Asia/Shanghai
    command: redis-server --save 20 1 --loglevel warning --requirepass eYVX7EwVmmxKPCDmwMtyKVge8oLd2t81
    volumes:
      - cache:/data
volumes:
  cache:
    driver: local
redis/conf/redis.conf

bind 0.0.0.0
# redis 密码
requirepass 123456

# key 监听器配置
# notify-keyspace-events Ex

# 配置持久化文件存储路径
dir ../data
# 配置rdb
# 15分钟内有至少1个key被更改则进行快照
save 900 1
# 5分钟内有至少10个key被更改则进行快照
save 300 10
# 1分钟内有至少10000个key被更改则进行快照
save 60 10000
# 开启压缩
rdbcompression yes
# rdb文件名 用默认的即可
dbfilename dump.rdb

# 开启aof
appendonly yes
# 文件名
appendfilename "appendonly.aof"
# 持久化策略,no:不同步,everysec:每秒一次,always:总是同步,速度比较慢
# appendfsync always
appendfsync everysec
# appendfsync no

因此,我们使用自定义redis-server命令——save 201指示服务器每20秒将1个或多个写操作保存到磁盘,以防服务器重新启动。我们使用——requirepass参数在redis服务器上添加读写数据的密码认证。正如我们所知,如果这是一个生产级应用程序,密码将不会暴露出来。这里之所以这样做,是因为它仅用于开发目的。

Redis 数据存储目录,请确保赋予了读写权限,否则将无法写入数据

docker-compose up -d 启动服务

sh
$ docker-compose up -d redis

使用 docker-compose exec 测试是否能够正常连接 redis

sh
$ docker-compose exec redis redis-cli

参考

redis-docker