基础配置内容
//string函数实践
var cty=context.Background()
//链接数据库
clim:=redis.NewClient(&redis.Options{
Addr: "localhost:6379",
Password: "",
DB: 0,
})
string操作 ---------------------------------
fmt.Println("string操作 ---------------------------------")
//为名字是user的string的value赋值 3000是过期时间,0则是永远不过期
fmt.Println("为名字是user的string的value赋值",clim.Set(cty,"user","admin",3000))
fmt.Println("为名字是age的string的value赋值",clim.Set(cty,"age",0,3000))
/*
数字的自增和自减 通常时点赞和评论数字
*/
fmt.Println("让age自增",clim.Incr(cty,"age"))
fmt.Println("让age自减",clim.Decr(cty,"age"))
//返回数值为user的string的value值
fmt.Println("返回数值为user的string的value值",clim.Get(cty,"user"))
//返回库中多个key的value
fmt.Println("返回库中多个key的value",clim.MGet(cty,"user","age"))
//添加key和value
fmt.Println("添加key和value",clim.SetNX(cty,"string_user","18h",3000))
//向string_user的value后面添加wdnmd
fmt.Println("向key的value后面添加内容",clim.Append(cty,"string_user","wdnmd"))
//最后结果为 18hwdnmd
fmt.Println("添加的最后结果为",clim.Get(cty,"string_user"))
string的打印内容
为名字是user的string的value赋值 set user admin px 1: OK
为名字是age的string的value赋值 set age 0 px 1: OK
让age自增 incr age: 1
让age自减 decr age: 0
返回数值为user的string的value值 get user: redis: nil
返回库中多个key的value mget user age: [<nil> <nil>]
添加key和value set string_user 18h px 1 nx: true
向key的value后面添加内容 append string_user wdnmd: 8
添加的最后结果为 get string_user: 18hwdnmd
list/切片 操作 -----------------------------------
//在key的list尾部添加元素
fmt.Println("在key的list尾部添加元素",clim.RPush(cty,"list_user","test"))
//在key头部添加元素
fmt.Println("在key头部添加元素",clim.LPush(cty,"list_user","append head"))
//返回key的长度
fmt.Println("返回key的长度",clim.LLen(cty,"list_user"))
//返回指定list索引内容
fmt.Println("返回指定list索引内容",clim.LIndex(cty,"list_user",1))
//返回指定list索引内容范围 1-6
fmt.Println("返回指定list索引内容范围 1-6",clim.LTrim(cty,"list_user",1,6))
//给list指定索引地址赋值
fmt.Println("给list指定索引地址赋值",clim.LSet(cty,"list_user",1,"wdnmd 我是赋值的"))
//给list指定索引地址删除内容
fmt.Println("删除list的所有包含test的内容",clim.LRem(cty,"List_user",2,"test"))
//删除list_user的最后一个元素
fmt.Println("删除list_user的最后一个元素",clim.RPop(cty,"list_user"))
//删除list_user的第一个元素
fmt.Println("删除list_user的第一个元素",clim.LPop(cty,"list_user"))
打印内容
在key的list尾部添加元素 rpush list_user test: 1
在key头部添加元素 lpush list_user append head: 2
返回key的长度 llen list_user: 2
返回指定list索引内容 lindex list_user 1: test
返回指定list索引内容范围 1-6 ltrim list_user 1 6: OK
给list指定索引地址赋值 lset list_user 1 wdnmd 我是赋值的: ERR index out of range
删除list的所有包含test的内容 lrem List_user 2 test: 0
删除list_user的最后一个元素 rpop list_user: test
删除list_user的第一个元素 lpop list_user: redis: nil
集合set操作--------------------------
//向名称为set_use(他是key)r添加元素
fmt.Println("向名称为set_user添加元素",clim.SAdd(cty,"set_user","wdnmd","sdfsdg"))
//删除名称为set_user的元素
fmt.Println("删除名称为set_user的元素",clim.SRem(cty,"set_user","wdnmd"))
//随机删除set_user中的一个元素
fmt.Println("随机删除set_user中的一个元素",clim.SPop(cty,"set_user"))
//移动元素到另一个集合 没有元素会返回false
fmt.Println("移动元素到另一个集合",clim.SMove(cty,"set_user","set_user_in","wdnmd"))
打印内容
向名称为set_user添加元素 sadd set_user wdnmd sdfsdg: 2
删除名称为set_user的元素 srem set_user wdnmd: 1
随机删除set_user中的一个元素 spop set_user: sdfsdg
移动元素到另一个集合 smove set_user set_user_in wdnmd: false
大家了解这些函数后,是不是觉得函数很多,很难记,这里建议用联想法,
string的Set=list的LSet=集合的SAdd
这样联想记忆后会记得更快,倘若想要函数大全可以点击查看
可以像
clim.SPop(cty, "set_user").Result()
一样在后面添加Result(),这样就不会打印内容时会有add命令类前缀返回了