L'éditeur PHP Zimo est là pour vous présenter un problème important, à savoir que la fonction XAutoClaim de go-redis v8 est incompatible avec le serveur Redis v7+. Il est entendu que go-redis est une bibliothèque client Golang Redis populaire et que XAutoClaim est une nouvelle fonctionnalité de sa dernière version, qui peut être utilisée pour allouer automatiquement des tâches dans la file d'attente Redis. Cependant, lors de l'utilisation de cette fonction, il a été constaté qu'elle était incompatible avec le serveur Redis v7+, ce qui l'empêchait de fonctionner correctement. Ce problème peut causer des problèmes aux développeurs utilisant go-redis, nous devons donc trouver une solution pour résoudre ce problème de compatibilité.
J'utilise go-redis v8 avec une instance de serveur redis v7. Autant que je sache, la commande XAutoClaim
n'est pas compatible.
client.XAutoClaim
返回错误:got 3,想要 2
.
La documentation officielle go-redis/v8 sur XAutoClaim ne fait aucune mention d'incompatibilité avec 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 n'est pas compatible avec Redis version 7+. Bien que ce problème ne soit pas officiellement documenté, il y a un problème à ce sujet ici : https:///github.com/redis/go-redis/issues/2106.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!