go - 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 功能这一事实感到困惑。有什么问题的线索吗?
解决方案
在研究了所有者的存储库后,我发现该问题与导入的版本有关。在在线文章中,通常引用 import github.com/alicebob/miniredis
,但它没有实现 pub/sub 功能。为了使它们工作,导入V2很重要:
github.com/alicebob/miniredis/v2
推荐阅读
- c# - 如何使用 .net SDK (c#) 创建 Azure 搜索索引器以从 Azure Blob 存储中提取数据
- javascript - 如何检查项目是否已经在 LocalStorage 中
- mysql - 在 Where 条件中使用带有 AND 语句的 if 或 CASE WHEN
- c++ - WG21 不使用引用限定符的理由
- python-3.x - 使用 multiprocessing.pool.Pool.starmap 获取“无法腌制 _thread.RLock 对象”
- python - 如何使用主键插入数据库?
- typescript - 为回调函数定义泛型类型的打字稿
- javascript - 为什么使用 .contain 方法在节点内未识别 svg?
- python - 在 Flask 中,有没有办法在每个视图之前运行一些代码?
- sql-server - 使用 FOR XML 格式化 SQL Server