Der PHP-Editor Zimo ist hier, um Ihnen ein wichtiges Problem vorzustellen: Die XAutoClaim-Funktion von go-redis v8 ist nicht mit dem Redis-Server v7+ kompatibel. Es versteht sich, dass go-redis eine beliebte Golang Redis-Clientbibliothek ist und XAutoClaim eine neue Funktion in der neuesten Version ist, mit der Aufgaben automatisch in der Redis-Warteschlange zugewiesen werden können. Bei Verwendung dieser Funktion wurde jedoch festgestellt, dass sie nicht mit dem Redis-Server v7+ kompatibel war, was dazu führte, dass sie nicht ordnungsgemäß funktionierte. Dieses Problem kann Entwicklern, die go-redis verwenden, einige Probleme bereiten, daher müssen wir eine Lösung finden, um dieses Kompatibilitätsproblem zu lösen.
Ich verwende go-redis v8 mit einer Redis v7-Serverinstanz. Soweit ich weiß, ist der Befehl XAutoClaim
nicht kompatibel.
client.XAutoClaim
返回错误:got 3,想要 2
.
Die offizielle go-redis/v8-Dokumentation zu XAutoClaim erwähnt keine Inkompatibilität mit Redis Version 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 ist nicht kompatibel mit Redis Version 7+. Obwohl dieses Problem nicht offiziell dokumentiert ist, gibt es hier ein Problem dazu: https:///github.com/redis/go-redis/issues/2106.
Das obige ist der detaillierte Inhalt vongo-redis v8 XAutoClaim ist nicht mit Redis-Server v7+ kompatibel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!