Go语言操作Redis

前端之家收集整理的这篇文章主要介绍了Go语言操作Redis前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

       Redis的Go语言驱动已很成熟了,用redigo弄了个例子。

package main //Redis测试 //author:Xiong Chuan Liang //date:2015⑶⑸ import ( "fmt" "time" "log" "github.com/garyburd/redigo/redis" ) func main(){ fmt.Println("Redis:") conn,err := redisConn("","","6"); if err != nil { log.Fatal("Error: ",err) } test(conn) } func test(conn *RedisConn) { conn.Do("SET","xxx",1) if xxx,err :=redis.Int(conn.Do("GET","xxx")); err == nil { fmt.Println("xxx:",xxx) } conn.FlushClose() } //////////////////////////////////////////////////////////////// type RedisConn struct { dbid string redis.Conn } func (r *RedisConn)FlushClose() error { if r.dbid != "" { if _,err := r.Conn.Do("SELECT",r.dbid);err != nil { return nil } } if _,err := r.Conn.Do("FLUSHDB");err != nil { return err } return r.Conn.Close() } func (r *RedisConn)Close() error { return r.Conn.Close() } func redisConn(host,password,db string) (*RedisConn,error) { if host == "" { host = ":6379" } //conn,err := redis.Dial( "tcp",host) conn,err := redis.DialTimeout("tcp",host,1*time.Second,1*time.Second) if err != nil { return nil,err } if password != "" { if _,err := conn.Do("AUTH",password); err != nil { conn.Close() return nil,err } } if db != "" { if _,err := conn.Do("SELECT",db);err != nil { conn.Close() return nil,err } } return &RedisConn{dbid:db,Conn: conn},nil }


 可以看到使用非常方便。


MAIL:xcl_168@aliyun.com

BLOG:http://blogcsdn.net/xcl168

猜你在找的PHP相关文章