package main
import (
"fmt"
//"github.com/gomodule/redigo/redis"
"github.com/garyburd/redigo/redis"
)
func main() {
conn, err := redis.Dial("tcp", ":6379")
if err != nil {
fmt.Println(err)
return
}
psc := redis.PubSubConn{Conn: conn}
//psc.PSubscribe("__key*__:expired")
psc.PSubscribe("__keyevent@0__:expired")
for {
switch msg := psc.Receive().(type) {
case redis.Message:
fmt.Printf("Message: %s %s\n", msg.Channel, msg.Data)
case redis.PMessage:
fmt.Printf("PMessage: %s %s %s\n", msg.Pattern, msg.Channel, msg.Data)
case redis.Subscription:
fmt.Printf("Subscription: %s %s %d\n", msg.Kind, msg.Channel, msg.Count)
if msg.Count == 0 {
return
}
case error:
fmt.Printf("error: %v\n", msg)
return
}
}
}