首页 > 解决方案 > ERR 未知命令`publish` Miniredis Golang

问题描述

我正在使用miniredis mock for Redis 测试这个小代码片段。repository.client是一个返回 Redis 客户端的功能模拟(用于其他测试)。

    err := repository.client.Publish(ctx, "UPDATE", "MESSAGE").Err()
    if err != nil {
        log.fatal(err.Error())
    }

当我运行测试时,它会记录以下错误:

ERR unknown command `publish`, with args beginning with: `UPDATES`, `MESSAGE`,

我对 miniredis 应该实现 pub-sub 功能这一事实感到困惑。有什么问题的线索吗?

标签: goredis

解决方案


在研究了所有者的存储库后,我发现该问题与导入的版本有关。在在线文章中,通常引用 import github.com/alicebob/miniredis,但它没有实现 pub/sub 功能。为了使它们工作,导入V2很重要:

github.com/alicebob/miniredis/v2

来源:https ://github.com/alicebob/miniredis/issues/157


推荐阅读