Redis 不将数据保存到 docker 容器服务器

问题描述

我有以下 docker compose 配置:

version: "3.9"
services:
  redis:
    image: redis:latest
    volumes:
      - redis_data:/var/redis/data
    restart: always
    environment:
      ALLOW_EMPTY_PASSWORD: "yes"
      REdis_disABLE_COMMANDS: "FLUSHDB,FLUSHALL"
    ports:
      - "6379:6379"
volumes:
  db_data: { }
  redis_data:
    driver: local

在我的代码中,我有

public function __construct()
    {
        $this -> redis = new Client([
            'scheme' => 'tcp','host' => 'localhost','port' => 6379
        ]);
    }

    public function connect()
    {
        $this -> redis -> connect();
        var_dump($this -> redis -> getConnection());
        $this -> redis -> set('foo',"aaa");
        echo "REdis VALUE: " . $this -> redis -> get('foo');
    }

我的调试结果是:

object(Predis\Connection\StreamConnection)#18 (4) {
  ["resource":"Predis\Connection\AbstractConnection":private]=>
  resource(149) of type (stream)
  ["cachedId":"Predis\Connection\AbstractConnection":private]=>
  NULL
  ["parameters":protected]=>
  object(Predis\Connection\Parameters)#16 (1) {
    ["parameters"]=>
    array(3) {
      ["scheme"]=>
      string(3) "tcp"
      ["host"]=>
      string(9) "localhost"
      ["port"]=>
      int(6379)
    }
  }
  ["initCommands":protected]=>
  array(0) {
  }
}
REdis VALUE: 

好像是连接到docker redis容器了,但是没有保存数据。我不太确定目前似乎是什么问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)