一、Docker Compose 文件中的 version


二、ps -ef | grep redis 的含义


三、Docker 执行 Redis 命令的方式

  1. 命令:docker exec -it r1 redis-cli --port 7001
    • docker exec:在运行的容器中执行命令。
      • 全称:Execute
    • -it:交互式模式,提供终端支持。
      • -i:保持输入流打开(Interactive)。
      • -t:分配伪终端(Tty)。
    • redis-cli:Redis 命令行客户端。
    • --port 7001:指定连接的 Redis 服务端口。
  2. 命令:docker exec -it r1 bash
    • 功能:进入容器内的 Bash 环境,可以执行系统级命令。
    • 如果要执行 Redis 操作,需要先运行 redis-cli -p 7001
  3. 差异
    • redis-cli:直接与 Redis 交互,适合操作 Redis。
    • bash:进入容器环境后再运行 redis-cli

四、删除 Redis 主机里的 Slave 节点

  1. 查看当前主从信息

    info replication

    示例输出:

    role:slave
    master_host:127.0.0.1
    master_port:7001
  2. 停止从属关系

    slaveof no one
  3. 注意事项

    • 如果执行 slaveof no one 后,slave 会转为 master
    • 如果未生效,检查是否误输入参数,例如错误的 -p 7002

五、Redis Replication 的 IP 显示差异


六、PSYNC(Partial Resynchronization)


七、RDB 的全称


八、Append-Only 模式与持久化

  1. Append-Only 模式
    • Redis 将每次写操作追加到 appendonly.aof 文件。
    • 开启方式:appendonly yes
  2. 持久化与写入磁盘的区别
    • 持久化:数据即使系统崩溃或重启仍可恢复。
    • 写入磁盘:数据短期存储于磁盘,但可能因重启或自动清理而丢失。
  3. RabbitMQ 的例子
    • 消息队列满时,临时消息会写入磁盘,但这不等于持久化。
    • 持久化消息在重启后仍存在,临时消息会被清理。

九、Redis 配置文件解析

port 7000                     # Redis 服务监听端口
cluster-enabled yes           # 启用集群模式
cluster-config-file nodes.conf # 集群节点配置文件
cluster-node-timeout 5000     # 集群节点通信超时时间(毫秒)
appendonly yes                # 启用 AOF 持久化