问题标签 [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 回答
327 浏览

go - 使用 gob 在 Go 中编码 websocket

我正在使用 Go 中的 websockets 编写一个聊天应用程序。

会有多个聊天室,想法是将所有连接到聊天室的 websocket 存储在 Redis 列表中。

为了在 Redis 中存储和检索 websocket,我必须对它们进行编码/解码,并且(在这个问题之后)我认为我可以使用 gob。

我正在使用github.com/garyburd/redigo/redisRedis 和 github.com/gorilla/websocket我的 websocket 库。

我的功能如下:

但是,我收到此错误:

cannot use ws (type *websocket.Conn) as type io.Writer in argument to gob.NewEncoder: *websocket.Conn does not implement io.Writer (missing Write method) have websocket.write(int, time.Time, ...[]byte) error want Write([]byte) (int, error)

这个错误是什么意思?编码错误的整个想法*websocket.Conn还是需要类型转换?

0 投票
1 回答
245 浏览

go - Scanning "false" and "true" as booleans in Redigo

How can I use redis.ScanStruct to parse strings as booleans or even as custom types?

The struct I am using looks like this:

The RequireSecret attribute is either a "true" or "false" string, I'd like to scan it as a bool.

0 投票
2 回答
1198 浏览

go - 在结构的字段上实现 Redigo Scanner 接口

我有一个看起来像这样的结构:

如何在属性上实现Scanner接口RequireSecret以解析authEnum类型"never"或redis 哈希值"sometimes""always"

如何计算该值并将其分配给 authEnum?在我的代码示例RedisScan中,永远不会被调用。

0 投票
1 回答
709 浏览

go - redigo 不同的池连接到单个服务器

所以,我有必要连接到 3 个 redis 服务器。我创建了 3 个连接池,并初始化它们中的每一个。但是 redigo 似乎只连接到单个 redis 服务器,尽管我使用不同的池获得连接。

使用 redigo,下面是我的代码

问题是,所有 3 个池都连接到最后一个服务器/连接,结果如下所示。任何想法?

0 投票
2 回答
3774 浏览

go - 如何通过redis中的通配符键获取所有值

假设我在redis中有以下数据:

那么,我可以通过通配符user-1-*(包括键和值)获取以上所有记录。

我试过KEYS user-1-*了,但它只给出了所有的键,而不是它们的值。

如果它不支持通配符搜索,你能推荐一种存储这种数据的方法吗?

顺便说一句,我正在使用 golang redigo。

0 投票
0 回答
225 浏览

go - redisc.RetryConn 返回 null

Golang 和 redis 新手。我在亚马逊有一个有 9 个节点的 redis 集群。3个主人,每个主人有2个奴隶。共有九个节点。不使用 RetryConn 会返回 MOVED 节点错误,使用它会返回 null。提供所有节点的 IP 地址是否重要?是否可以提供 amz 在我们创建集群时提供的主机名。

我究竟做错了什么?另外,我们如何绑定所需的 conn?任何见解都会非常有帮助

0 投票
1 回答
1829 浏览

docker - redis:拨号 tcp [REDIS ADDRESS] 连接:连接被拒绝

我在 docker 中使用 redigo。我有一个处理传入事件并使用 redis 进行速率限制的服务器。每 100k+ 个连接中就有一个,所以我收到以下错误:

redis: dial tcp IP ADDRESS: connect: connection refused

配置都在使用 docker-compose 的 docker 内部。我有哨兵向我发送这些错误,我想知道是否可以进行任何调整/设置来删除/减少此错误

我的 redigo 配置是

0 投票
0 回答
176 浏览

go - 结束 redigo 进程

我正在使用聊天服务器并使用 redigo 来跨许多 Web 套接字连接发布消息。我有一个 go 例程(每个用户连接)打开到 redis 的连接,订阅一些频道并等待消息。等待这个消息 -

是一个阻塞操作,因为接收函数之后的任何代码在消息进入之前都不会运行。但是我希望能够观察上下文 -

之类的。这可以使用选择来实现,还是有更惯用的写法?我正在尝试这样做,因为在当前实现中,此函数作为 go 例程运行,如果 web 会话结束,我想结束 redis 连接并完成 go 例程。

0 投票
1 回答
654 浏览

json - 无法将字符串映射转换为 json

我想使用redigo从 redis 收到的哈希中制作一个 json :

但是浏览器中的结果是乱码,例如:

这里有什么问题?我该如何解决?

0 投票
1 回答
3362 浏览

go - 如何使用 redigo 设置 redis 密钥超时?

我想为 redis 键/值对添加超时,以便它们在 10 分钟后过期。

这是功能

我想要 redigo 这样做:

我想知道如何在 redigo 中实现这一点?

我查看了文档示例,但不知道该怎么做