Go-Redis(二)gopkg-redis基本操作

文章目录

  • Go-Redis(二)gopkg-redis基本操作
    • 基本使用
      • 连接redis
      • 数据结构操作
        • string
        • list
        • set和hash

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的整理,辛苦这位大佬:

  • gopkg-redis
string

Go-Redis(二)gopkg-redis基本操作_第1张图片

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

Go-Redis(二)gopkg-redis基本操作_第2张图片

	// -------------------------
	// ------- 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:

Go-Redis(二)gopkg-redis基本操作_第3张图片

hash:

Go-Redis(二)gopkg-redis基本操作_第4张图片

你可能感兴趣的:(Go-Redis)