0

我用来生成连接和读取消息的包是:“github.com/go-redis/redis”

当我从 golang 中的一个组中读取事件时,我试图声明不使用 NOACK,但是当一个新事件到达时,它会留下这个新事件,就好像它有 NOACK 一样。

entries, err := redisClient.XReadGroup(&redis.XReadGroupArgs{
    Group:    consumerGroup,
    Consumer: uniqueID,
    Streams: []string{streamSubject, ">"},
    Count:   2,
    Block:   0,
    NoAck:   false,
}).Result()

在这一部分中,我声明了我如何阅读消息并声明我不使用 ack。

之后,我从 redis-cli 发送一条消息

127.0.0.1:6379[1]> XADD charge * taco great
1627519110415

我从我的 Golang 脚本中得到

DEBU[0051] Handling new data: {charge [{1627519767943-0 map[taco:great]}]} 

如果消息仍在处理中但似乎丢失,则有效。

127.0.0.1:6379[1]> XREADGROUP GROUP group-test bob STREAMS charge 0
1) 1) "charge"
   2) (empty array)
4

0 回答 0