php小编子墨在这里向大家介绍一个重要的问题,即go-redis v8的XAutoClaim功能与Redis服务器v7+不兼容的情况。据了解,go-redis是一个流行的Golang Redis客户端库,而XAutoClaim是其最新版本中新增的一个功能,可以用于在Redis队列中自动分配任务。然而,使用这个功能时,发现它与Redis服务器v7+不兼容,导致无法正常工作。这个问题可能会给使用go-redis的开发者带来一些困扰,因此我们需要找到解决方案来解决这个兼容性问题。
我正在对 redis v7 服务器实例使用 go-redis v8。据我所知, XAutoClaim
命令不兼容。
client.XAutoClaim
返回错误:got 3,想要 2
。
XAutoClaim 上的官方 go-redis/v8 文档没有提及与 redis 版本 7+ 的不兼容性。
ctx := context.Background() streamName := "test-stream" groupName := "test-group" rdb := redis.NewClient(&redis.Options{ Addr: "localhost:6379", Password: "", // no password set DB: 0, // use default DB }) defer rdb.FlushDB(ctx).Err() // Add message to stream rdb.XAdd(ctx, &redis.XAddArgs{ Stream: streamName, Values: map[string]interface{}{"key": "value"}, }) // Create consumer group rdb.XGroupCreateMkStream(ctx, streamName, groupName, "0") autoclaimError := rdb.XAutoClaim(ctx, &redis.XAutoClaimArgs{ Stream: streamName, Group: groupName, Consumer: "test-consumer", MinIdle: 0, Start: "-", Count: 1, }).Err() print(autoclaimError.Error())
go-redis v8 XAutoClaim 与 Redis 版本 7+ 不兼容。虽然这个问题没有正式记录,但这里有一个关于此事的问题:https:// /github.com/redis/go-redis/issues/2106。
以上是go-redis v8 XAutoClaim 与 Redis 服务器 v7+ 不兼容的详细内容。更多信息请关注PHP中文网其他相关文章!