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

波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 本站源码并不保证全部能正常使用,仅供有技术基础的人学习研究,请谨慎下载
8. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » Go语言操作Redis

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡