问题标签 [go-redis]

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 回答
2792 浏览

go - 下载 go-redis 包时出现错误找不到包“github.com/go-redis/redis/v8”

我尝试使用此命令下载 go-redis,go get github.com/go-redis/redis/v8但出现以下错误:

为什么我会收到此错误以及如何解决此错误?

0 投票
1 回答
713 浏览

list - 为什么不能用 go-redis 获得的值将字符串转换为 int?

我在 go 中使用go-redis从 Redis 获取列表数据。

在第一次打印中,它可以获得正确的数据:

但第二次打印全为 0:

如果不转换为 int,则为字符串:

所以我想用它作为一个整数。


我在 go 中使用纯列表进行了测试:

它可以在不单独使用新行的情况下工作:

所以go-redis'.LRange("ID", 0, -1).Result()不仅返回字符串。 https://godoc.org/github.com/go-redis/redis#Client.LRange*StringSliceCmd. 那怎么转换呢?

0 投票
1 回答
243 浏览

go - 有没有办法在redis中检查连接到模式的订阅者号码?

我想检查有多少用户连接到我的 pubsub 模式。在 Go 中有简单的方法吗?谢谢你。

我试过这个:

但它也向我展示了其他模式,我只想计算那个特定的模式。

0 投票
1 回答
252 浏览

redis - Redis 多表?

我有一个用例,我必须按键搜索,而在另一个用例中,我必须按值搜索。在这种情况下,扫描整个缓存的最佳方法是什么会降低性能(按值过滤)。

  1. 是否反向存储,即在同一个逻辑表中存储值作为键和键作为值?
  2. 使用不同的数据库并将Value、Key存储为K | V. 我看到一些帖子建议使用不同的数据库是一个坏主意并且已弃用?

还是有更好的选择/方法?

0 投票
1 回答
322 浏览

go - 如何在 Go 中从 redis 获取和设置数据?

当我手动检查redis时,那里什么都没有。

0 投票
0 回答
179 浏览

go - 我应该为每个 redis 操作创建一个新的 FailOverClient 吗?

我正在尝试使用go-redis库中的NewFailOverClient连接到 K8s中的多个 Redis 服务器,这些服务器用作应用程序的缓存和分布式锁。我应该每次为操作(获取/设置)创建一个新客户端还是应该在整个应用程序中重用该客户端?

我觉得正常模式是在操作后关闭新连接,但是库建议客户端是线程安全的,这让我想知道除了重用客户端之外还有什么用例?

0 投票
0 回答
266 浏览

go - 使用 go-redis 库时如何连接到故障转移的复制 Redis

在 redis 集群模式下,即使其中一个注册的 master 关闭,也会执行重定向并且应用程序可以正常工作。

在单Redis master-replication配置中,运行上述代码后,如果关闭master Redis,会出现如下错误。

在使用 go-redis 的单个 Redis 主复制配置中,即使主服务器关闭,是否有办法将应用程序连接到复制 redis 而不会出错?

0 投票
0 回答
168 浏览

redis - 是否有可能获得原始 RESP 响应流

我使用go-redis为不支持直接访问 redis 集群的服务开发了一个 redis 集群代理。

执行 res 后,err := rdb.Do(ctx, "set", "key", "value").Result(), 有没有获取原始 RESP 响应的方法?喜欢$6\r\nfoobar\r\n

我在 go-redis 中使用 Writer 来解析结果如下:

似乎作者无法解析COMMANDNested Result Array返回的结果

0 投票
0 回答
208 浏览

go - Go 中 Redis 客户端的日志中出现奇怪的 IP

最近在我们的一个 k8s 部署中,我们看到一个奇怪的 IP 出现在我们的日志中。此错误日志与我们使用go-redis的服务之一有关。这是错误日志的正文:

该消息的奇怪之处在于它试图连接到一个显然无效的 5 个八位字节 IP 地址。.17实际上,IP末尾有一个额外的,其余的是我们的 Redis pod 的正确地址,这不是第一次发生这种情况。
在一次事件中,我登录了一个遇到此问题的 pod,并尝试使用手动解析 Redis pod 的 IP,ping它返回了正确的地址(没有额外的部分)。值得注意的是,我们使用 k8s 主机名来查找我们的 pod。

注 1:它总是一个额外的.17东西,把一切都搞砸了。它来自哪里,为什么是这个数字?

注意 2:我们正在使用golang:1.16.3-alpine构建我们的人工制品和alpine:3.12图像来运行它们。

如果有人可以帮助我或指出我继续寻找的方向,我将不胜感激。

0 投票
1 回答
259 浏览

go - 如何从golang go-redis中的redis.Cmder获取价值?

如何从中获得价值?我没有找到任何文件.......