【问题标题】:Symfony phpredis client should be compatible with redisSymfony phpredis 客户端应该兼容 redis
【发布时间】:2020-08-06 17:34:51
【问题描述】:

我正在运行 Symfony 5,并安装了 redis

pecl 安装 redis

composer 需要 snc/redis-bundle

composer 需要 predis/predis

我的 confg/snc_redis.yml 有

snc_redis:
    clients:
        default:
            type: predis
            alias: default
            dsn: redis://ops_redis_1

并通过 pecl安装redis

我的代码是:

 /**
     * @Route("/redis/set/{key}/{value}")
     */
    public function redisSet(string $key, string $value) {

        $this->redisClient->set($key, $value);
        return new Response("Adding key " . $key . ' with value ' .$value);
    }

我收到此错误消息:

警告:Snc\RedisBundle\Client\Phpredis\Client::zAdd($key, $score1, $value1, $score2 = NULL, $value2 = NULL, $scoreN = NULL, $valueN = NULL) 的声明应该兼容 Redis::zAdd($key, $score, $value, ...$extra_args)

这是什么意思?那个phpredis客户端不兼容原生php redis?

以前有人遇到过这种情况吗?

【问题讨论】:

  • 似乎存在与snc/redis-bundle 相关的向后兼容性问题。这里有一些讨论github.com/snc/SncRedisBundle/issues/399
  • 我明白了,讨论变得越来越复杂,给出的解决方案并不让我满意,有些人在试图修复 composer.lock 中的 phpredis 版本,其他人认为 pecl redis 版本应该修复为 3.xxx,一个是提供一个新的 Client.php 版本来管理通过 conf 文件...即使 symfony 缓存不处理高级 Redis 选项我想我会删除 snc/redis 并使用它,因为 Redis 最有趣的是缓存功能...谢谢帮助

标签: symfony redis phpredis


【解决方案1】:

我假设你导入了错误的 Redis 客户端。

改变

use Snc\RedisBundle\Client\Phpredis\Client;

use Predis\Client;

【讨论】:

    猜你喜欢
    • 2023-01-19
    • 2010-10-21
    • 2020-12-22
    • 2014-09-29
    • 2020-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-09
    相关资源
    最近更新 更多