Rumah > pembangunan bahagian belakang > Golang > go-redis v8 XAutoClaim tidak serasi dengan pelayan Redis v7+

go-redis v8 XAutoClaim tidak serasi dengan pelayan Redis v7+

王林
Lepaskan: 2024-02-09 16:54:08
ke hadapan
929 orang telah melayarinya

go-redis v8 XAutoClaim 与 Redis 服务器 v7+ 不兼容

Editor PHP Zimo di sini untuk memperkenalkan kepada anda satu isu penting, iaitu, fungsi XAutoClaim go-redis v8 tidak serasi dengan pelayan Redis v7+. Difahamkan bahawa go-redis ialah perpustakaan pelanggan Golang Redis yang popular, dan XAutoClaim ialah ciri baharu dalam versi terbaharunya, yang boleh digunakan untuk memperuntukkan tugas secara automatik dalam baris gilir Redis. Walau bagaimanapun, apabila menggunakan fungsi ini, didapati ia tidak serasi dengan pelayan Redis v7+, menyebabkan ia tidak berfungsi dengan baik. Masalah ini mungkin menyebabkan beberapa masalah kepada pembangun menggunakan go-redis, jadi kami perlu mencari penyelesaian untuk menyelesaikan isu keserasian ini.

Isi soalan

Soalan

Saya menggunakan go-redis v8 dengan instance pelayan redis v7. Setahu saya, arahan XAutoClaim tidak serasi. client.XAutoClaim 返回错误:got 3,想要 2.

Dokumentasi rasmi go-redis/v8 pada XAutoClaim tidak menyebut tentang ketidakserasian dengan redis versi 7+.

Langkah untuk membiak

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())
Salin selepas log masuk

Penyelesaian

go-redis v8 XAutoClaim tidak serasi dengan Redis versi 7+. Walaupun isu ini tidak didokumenkan secara rasmi, terdapat isu mengenainya di sini: https:///github.com/redis/go-redis/issues/2106.

Atas ialah kandungan terperinci go-redis v8 XAutoClaim tidak serasi dengan pelayan Redis v7+. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan