Go-Redis(二)gopkg-redis基本操作
gopkg-redis也是一个操作redis的go客户端
安装
go get gopkg.in/redis.v5
基本使用
不得不说,go比Java简洁多了
连接redis
// 连接redis
func ConnectToRedis() *redis.Client{
client := redis.NewClient(&redis.Options{
Addr: "localhost:6379",
Password: "123456",
DB: 0,
})
_,err := client.Ping().Result()
if err != nil{
fmt.Println("连接失败,",err)
}
return client
}
数据结构操作
gopkg-redis提供的API我个人觉得要比redigo更加方便些,redigo类似于指定cli指令。
参考了这篇博客对API的整理,辛苦这位大佬:
string
// -------------------------
// ------- string操作 -------
// -------------------------
// set k v expire time
client.Set("gopkg","redis",3 * time.Second)
// get k
var v1 string
client.Get("gopkg").Scan(&v1)
fmt.Println("get gopkg:",v1)
list
// -------------------------
// ------- list操作 ---------
// -------------------------
client.LSet("list2",0,"list21")
client.LSet("list2",1,"list22")
// lpush
client.LPushX("list2","list23")
client.LPushX("list2","list26")
client.LPushX("list2","list25")
// rpush
client.LPush("list2","list27")
client.LPush("list2","list24")
// lpop
res1,_ := client.LPop("list2").Result()
fmt.Println("list lpop: ", res1)
// rpop
res2,_ := client.RPop("list2").Result()
fmt.Println("list rpop: ", res2)
// lrange list start end
l,e:= client.LRange("list2",0,3).Result()
if e != nil{
panic(e)
}
for _,val := range l{
fmt.Println(val," ")
}
set和hash
set:
hash: