golang使用redis进行发布和订阅消息代码示例(极简版本)
【代码】golang使用redis进行发布和订阅消息代码示例(极简版本)
·
package main
import (
"context"
"fmt"
"github.com/redis/go-redis/v9"
"time"
)
var ctx = context.Background()
func main() {
rdb := redis.NewClient(&redis.Options{
Addr: "localhost:6379",
Password: "", // no password set
DB: 0, // use default DB
})
pubsub := rdb.Subscribe(ctx, "mychannel1", "-10000")
// Go channel which receives messages.
ch := pubsub.Channel()
// Publish a message.
rdb.Publish(ctx, "mychannel1", "hello")
rdb.Publish(ctx, "mychannel1", "test qaq")
rdb.Publish(ctx, "-10000", "996")
time.AfterFunc(time.Second, func() {
// When pubsub is closed channel is closed too.
_ = pubsub.Close()
})
// Consume messages.
for msg := range ch {
fmt.Println(msg.Channel, msg.Payload)
}
}
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献1条内容
所有评论(0)