티스토리 뷰

go get github.com/go-redis/redis/v8
package main
import (
    "context"
    "fmt"
    "github.com/go-redis/redis/v8"
)
func main() {
    // Redis 연결
    rdb := redis.NewClient(&redis.Options{
        Addr:     "{host}",
        Password: "{password}",
        DB:       "{dababase}",
    })
    
    ctx := context.Background()
    pubsub := rdb.Subscribe(ctx, "mychannel")
    defer pubsub.Close()
    
    // 고루틴으로 수신된 메시지를 처리
    go func() {
        for {
            msg, err := pubsub.ReceiveMessage(ctx)
            if err != nil {
                fmt.Println("Error:", err)
                return
            }
            fmt.Println(msg.Payload)
        }
    }()
    
    err := rdb.Publish(ctx, "mychannel", "Hello world!").Err()
    if err != nil {
        fmt.Println("Error:", err)
        return
    }
}
 

'공부합시다 > Golang' 카테고리의 다른 글

GVM으로 go설치하기  (0) 2023.03.30
golang 웹크롤링 예제  (0) 2023.03.15
Golang으로 Todo 만들기  (0) 2022.01.21
댓글