在 GO 语言中操作 Redis 订阅和处理消息需要使用 Redis 的客户端库,比如 go-redis 库。
以下是一个示例代码,演示了如何使用 go-redis 库订阅 Redis 消息并处理:
package main
import (
"fmt"
"github.com/go-redis/redis/v8"
)
func main() {
// 创建 redis 客户端
rdb := redis.NewClient(&redis.Options{
Addr: "localhost:6379",
Password: "", // 如果有密码则设置
DB: 0, // use default DB
})
// 创建订阅器
pubsub := rdb.Subscribe(context.Background(), "mychannel")
// 获取通道消息
ch := pubsub.Channel()
for msg := range ch {
fmt.Println("Received:", msg.Payload)
// 处理消息...
}
}
上面的代码创建了一个 Redis 客户端,并使用 Subscribe
方法创建了一个订阅器。然后通过调用 Channel()
方法获取到接收消息的通道。程序会一直等待新的消息并打印出来。
在实际应用中,你可以根据需要对接收到的消息进行自定义处理。