https://github.com/go-redis/redis
import ("context""fmt""github.com/go-redis/redis/v8")var ctx = context.Background()func main() {rdb := redis.NewClient(&redis.Options{Addr: "192.168.31.151:6379",Password: "314159", // no password setDB: 0, // use default DB})err := rdb.Set(ctx, "key", "value", 0).Err()if err != nil {panic(err)}val, err := rdb.Get(ctx, "key").Result()if err != nil {panic(err)}fmt.Println("key", val)}
func main() {pubsub := rdb.Subscribe(ctx, "mychannel1")// Wait for confirmation that subscription is created before publishing anything._, err := pubsub.Receive(ctx)if err != nil {panic(err)}// Publish a message.err = rdb.Publish(ctx, "mychannel1", "hello").Err()if err != nil {panic(err)}// Go channel which receives messages.ch := pubsub.Channel()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)}}
