go-redis v8 XAutoClaim与Redis server v7+不兼容

yruzcnhs  于 11个月前  发布在  Go
关注(0)|答案(1)|浏览(140)

问题

我在一个redis v7服务器示例上使用go-redis v8。据我所知,XAutoClaim命令不兼容。client.XAutoClaim返回错误:got 3, wanted 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())

字符串

e4yzc0pl

e4yzc0pl1#

go-redis v8 XAutoClaim与Redis版本7+不兼容。虽然这个问题没有正式文档,但这里有一个问题:https://github.com/redis/go-redis/issues/2106

相关问题