排序设置类型如何在golang-redis中使用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
1:安装redigo
去github.com/garyburd/redigo/redis
引用>2:引用redigo
import ( “;github.com/garyburd/redigo/redis"才能; )3:连接复述,
c, err :=, redis.Dial (“tcp",,“192.168.2.225:6379") if err  !=, nil { fmt.Println才能(“connect 用redis err",, err.Error ()) ,返回 } defer c.Close ()4:命令
n,犯错:=c.Do (“zadd",“key",“score",“member")//写
结果,犯错:=redis.Values (c.Do (“zrange",“key", 0, 1))//读
引用>5:排序集简单操作
zadd(钥匙,,score1, member1中,……scoreN memberN),向有序结合添加(更新)一个或多个成员 zcard(关键):获取有序集合的成员 zcount(键,开始,结束):计算指定区间的成员数 zincrby(增量,关键成员):成员成员增加增量 zinterstore (dst numkey、src1 src2 . . srcN):求交集,并将结果存储新的结合 zlexcount(键,开始,结束):计算字典区间成员数(分数都相同,按照字典排序) zrange(键,开始,结束):获取索引区间的成员 zrangebylex (键,开始,结束):通过字典区间返回区间内有序集合成员 zrangebyscore(键,开始,结束):通过分数返回区间内的有序集合 zrank (主要成员):返回有序结合的索引 members1…membersN zrem(关键):删除一个或多个成员 zremrangebylex(键,开始,结束):移除集合中给定字典区间的成员 zremrangebyrank(键,开始,结束):移除有序集合中给定的排名区间的所有成员 zremrangebyscore(键,开始,结束):移除给定分数区间的所有元素 zrevange(键,开始,结束):通过索引,分数由高到低,返回指定区域的元素 zrevrangebyscore(主要成员):分数由高向低返回指定区间的成员数 zrevrank(主要成员):分数从小到大,返回指定成员的排名 zscore(主要成员):返回有序集中,成员的分数的值 zunionstore (dst、numkeys key1…keyN):返回给定的一个或多个集合的并集,并存储在新的集合中 zscan(键,光标):迭代有序结合中的元素(包括元素成员和元素分值)6:示例
6.1: zadd
_,,err1 :=, c.Do (“zadd",,“curbike",, 1,,“mobike",, 2,,“xiaolan",, 3,,“ofo",, 4,“xiaoming") _,err2 :=, c.Do (“zadd",,“tmpdata",, 0,,“mobike",, 0,,“xiaolan",, 0,,“mysql",, 0,,“redis",, 0,,“mongo",, 0,,“xiaoming") if err1  !=, nil | |, err2 !=, nil { fmt.Println才能(“zadd  failed",, err.Error ()) }6.2: zcard
num,, err :=, c.Do (“zcard",,“curbike") if err  !=, nil { fmt.Println才能(“zcard  failed",, err.Error ()) },{else fmt.Printf才能(“curbike& # 39; s size is % s:“,, num) }6.3: zcount
num,, err =, c.Do (“zcount",,“curbike",, 1,, 3) if err  !=, nil { fmt.Println才能(“zcount  failed “,, err.Error ()) },{else fmt.Println才能(“zcount  num is :“,, num) }6.4: zincrby
num,, err =, c.Do (“zincrby",,“curbike",, 3,,“xiaolan") fmt.Println (reflect.TypeOf (num)) if err  !=, nil { fmt.Println才能(“zincrby  failed",, err.Error ()) },{else fmt.Println才能(“after  zincrby ,:“,, num) }6.5: zinterstore
_,,err =, c.Do (“zinterstore",,“internewset",, 2,,“curbike",,“tmpdata") if err  !=, nil { fmt.Println才能(“zinterstore  failed",, err.Error ()) },{else 结果,才能,err :=, redis.Values (c.Do (“zrange",,“internewset",, 0, 10)) if 才能;err  !=, nil { ,,,fmt.Println (“interstore  failed",, err.Error ()) ,,},{else ,,,fmt.Printf (“interstore  newset elsements 有:“) ,,,for _, v :=, range result { ,,,,,fmt.Printf (“% s “,诉([]字节)) ,,,} ,,,fmt.Println () ,,} }6.6: zlexcount
num,, err =, c.Do (“zlexcount",,“tmpdata",,“[mongo",,“[xiaoming") if err  !=, nil { fmt.Println才能(“zlexcount  failed",, err.Error ()) },{else fmt.Println才能(“zlexcount  tmpdata 拷贝;is :“,, num) null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null排序设置类型如何在golang-redis中使用