在Go中操作Redis

关于Redis我这里就不介绍了,大家自行百度查阅。(主要是懒得copy)
关于Go操作Redis,我们会用到一个叫go-redis的第三方库
https://github.com/go-redis/redis
关于Go-redis这个库的话,不得不说真的very very实用方便,上手基本上不看文档都可以,反正个人感觉就像是redis-cli一样方便。
好了,废话不多说,进入正题。
既然要操作redis,肯定得先有一个redis client吧
client:=redis.NewClient(&redis.Options{
Addr: "127.0.0.1:6379", //redis address
Password: "", //redis密码,没有设置就是空
DB: 0, //redis数据库 默认0,0-15都可以
})
在这里,还得提一点,那就是V7版本的话直接用,V8得注意一下参数里面相比V7而已多了一个context.Context类型的参数,这里我演示使用的是V8,所以的先创建一个context
ctx,cancel:=context.WithCancel(context.Background())
defer cancel()
然后我们就可以通过client的方法进行相关操作,例如
//检测是否链接成功
_,err:=client.Ping(ctx).Result()
if err!=nil {
log.Println(err.Error())
}
Set/Get
//Set
err=client.Set(ctx,"name","孤独常伴",3*time.Second).Err()
if err!=nil {
log.Println(err.Error())
}
//Get
data,err:=client.Get(ctx,"name").Result()
if err!=nil {
log.Println(err.Error())
}
fmt.Println(data)
Demo:
package main
import (
"context"
"fmt"
"github.com/go-redis/redis/v8"
"log"
"time"
)
func main(){
client:=redis.NewClient(&redis.Options{
Addr: "127.0.0.1:6379",
Password: "",
DB: 0,
})
//创建context,V8版本需要这玩意,V7不用
ctx,cancel:=context.WithCancel(context.Background())
defer cancel()
//检测是否链接成功
_,err:=client.Ping(ctx).Result()
if err!=nil {
log.Println(err.Error())
}
//Set
err=client.Set(ctx,"name","孤独常伴",3*time.Second).Err()
if err!=nil {
log.Println(err.Error())
}
//Get
data,err:=client.Get(ctx,"name").Result()
if err!=nil {
log.Println(err.Error())
}
fmt.Println(data)
//Setnx
client.SetNX(ctx,"age",11,0)
//这里我们可以不需要接收返回值,当然也可以接收
client.SetNX(ctx,"age",50,0)
client.Incr(ctx,"age")//这里加一是为了方便验证
}

更多相关资料请查看


本文系作者 @孤独常伴 原创发布在 L0ne1y。未经许可,禁止转载。