问题标签 [redigo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
175 浏览

go - 如何在 Go 中接收 Redis 发布消息

我正在尝试在 Go 中使用 Redis PubSub 来传递/发布消息并在订阅期间检索它。

我已经能够正确设置代码的发布和订阅/PubSub 部分。下面是我的代码。我希望在订阅期间检索的(字符串)消息是test message.但是,我的代码输出给出了频道、种类和计数,并且没有显示预期的消息(test message)。

test message在 Go 中使用 Redis 发布/订阅发布后,如何获得预期的消息( )?我觉得我很接近,但我可能在这里错过了一件小事。我对 Redis 很陌生。谢谢你的帮助。

以下是我的代码:

以下是我的输出: example: subscribe 1

0 投票
1 回答
97 浏览

go - 将 Redis subscribe []uint8 输出转换为字符串

我正在使用下面提到的代码从 Redis Publish-Subscribe 获取输出。在 Redis 发布期间传递的消息是一个字符串 ( test-message)。

但是,我在订阅阶段得到的输出是[]uint8. 以下是我在运行下面提到的代码时得到的输出[116 101 115 116 45 109 101 115 115 97 103 101](而不是test-message预期的输出。

这是由下面提到的代码中的这一行引起的fmt.Println("Output: ", v.Data, reflect.TypeOf(v.Data)).

如何在上述行(即)中的订阅中获得我想要的正确输出test-message我觉得我可能需要转换 from[]uint8才能string获得正确的输出。

我的代码如下。我用这个很好的答案作为我的代码的参考。

0 投票
1 回答
62 浏览

go - 我是否正确使用 redigo HDEL?

我似乎有使用 HDEL 命令界面的正确用法,但似乎删除了 0 条记录。我在这里错过了什么吗?

以下是有用的代码片段:

这不起作用:

给出输出 (int64) 0 // 删除的键数

这确实有效:

为每个 HDEL 提供一个输出 (int64) 1。从文档和 redigo lib 上的静态代码分析来看,切片似乎是可接受的参数fields