0
点赞
收藏
分享

微信扫一扫

go redis 生产者消费者

爱读书的歌者 2023-03-16 阅读 58


package main

import (
"context"
"github.com/go-redis/redis/v8"
"log"
)

var ctx = context.Background()

func ProducerMessageList(rdb *redis.Client, queueListKey string) {
for i := 0; i < 1000; i++ {
_, err := rdb.Publish(ctx, queueListKey, i).Result()
if err != nil {
log.Println(err)
}
}
}

func ConsumerMessageList(rdb *redis.Client, queueListKey string) {
for {
pubSub := rdb.Subscribe(ctx, queueListKey)
ch := pubSub.Channel()
for msg := range ch {
log.Printf("消费到数据 channel:%s;message:%s\n", msg.Channel, msg.Payload)
}
}
}

func main() {

rdb := redis.NewClient(&redis.Options{
Addr: "192.168.117.129:6379",
Password: "foobared", // no password set
DB: 0, // use default DB
})
// 测试连接是否成功
_ = rdb.Ping(context.Background()).Err()


go ProducerMessageList(rdb, "queue:message")

ConsumerMessageList(rdb, "queue:message")

}

举报

相关推荐

0 条评论