国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > php教程 > Go语言操作Redis

Go语言操作Redis

来源:程序员人生   发布时间:2015-03-18 09:34:39 阅读次数:3424次

       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, 0, 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

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生