拉取镜像

docker pull redis:7.4.2

创建文件夹

mkdir /opt/redis/data
touch /opt/redis/redis.conf

conf文件示例

# 基础配置
bind 0.0.0.0        # 允许所有 IP 连接
port 6379
daemonize no        # Docker 必须设置为 no
protected-mode no   # 关闭保护模式(若需要外网访问)

# 安全配置
requirepass your_strong_password_here  # 设置密码
rename-command FLUSHDB ""              # 禁用危险命令

# 持久化配置
appendonly yes       # 启用 AOF 持久化
appendfsync everysec # 每秒同步
dir /data           # 数据存储路径(需与 Docker 挂载目录一致)

# 资源限制
maxmemory 2gb       # 最大内存限制
maxmemory-policy allkeys-lru # 内存淘汰策略

#运行容器

docker run --name redis \
-d --restart always \
-p 9006:6379 \
-v /opt/redis/redis.conf:/usr/local/etc/redis/redis.conf \
-v /opt/redis/data:/data \
redis:7.4.2 redis-server /usr/local/etc/redis/redis.conf \
--requirepass redisadmin \
--appendonly yes \
/opt/redis/data:/data 将数据持久化到宿主机
/opt/redis/redis.conf:/usr/local/etc/redis/redis.conf 挂载自定义配置文件
redis-server /usr/local/etc/redis/redis.conf 指定配置文件路径
–requirepass redisadmin 启用密码
–appendonly yes 启用 AOF 持久化

连接redis(Another Redis Desktop Manager)

在这里插入图片描述

Redis 默认不开启 Key 过期事件通知,需要修改 Redis 配置文件(redis.conf):

notify-keyspace-events Ex

Ex 表示启用 过期事件(E 是事件通知,x 是过期事件)

可选事件类型:

字符 发送的通知
K 键空间通知,所有通知以 keyspace@ 为前缀
E 键事件通知,所有通知以 keyevent@ 为前缀
g DEL 、 EXPIRE 、 RENAME 等类型无关的通用命令的通知
$ 字符串命令的通知
l 列表命令的通知
s 集合命令的通知
h 哈希命令的通知
z 有序集合命令的通知
x 过期事件:每当有过期键被删除时发送
e 驱逐(evict)事件:每当有键因为 maxmemory 政策而被删除时发送
A 参数 g$lshzxe 的别名

输入的参数中至少要有一个 K 或者 E , 否则的话, 不管其余的参数是什么, 都不会有任何通知被分发

 	// 监控任何数据格式的所有事件,包括键空间通知和键事件通知
    notify-keyspace-events "AKE"
    // 只监控字符串结构的所有事件,包括键空间通知和键事件通知
    notify-keyspace-events "g$KExe"
    // 只监控所有键事件通知
    notify-keyspace-events "AE"
    // 只监控Hash数据解构的键空间通知
    notify-keyspace-events "ghKxe"
    // 只监控Set数据结构的键事件通知
    notify-keyspace-events "gsExe"

通过 Redis 命令行工具运行以下命令查看当前配置
在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐