展开

关键词

使用Redis实现用户积分及TopN排行榜功能

Sets 有 score 属性,能够方便保存与读取,使用指令:# 添加元素的分数,如果member不存在就会自动创建ZINCRBY key increment member # 按分数从大到小进行读取zrevrange 使用 Redis 的ZREVRANGE命令,但ZREVRANGE只返回 member,不返回 score,在 RedisTemplate 的 ZSetOperations 中的 reverseRangeWithScores (key, start, end),start 从 0 开始,返回的是 member 和 score,底层是将ZREVRANGE与ZSCORE指令进行组装,使用起来非常方便。

40010

Redis学习笔记(七)Redis数据存储类型之sorted_set

基本操作​ (1)添加数据 zadd key score1 member1 score2 member2…​ (2)获取全部数据 zrange key start stop withscores​ zrevrange 通过score来记录任务的权重​ 大体结构如下:​ zadd task 3 order:id001​ zadd task 1 order:id014​ zadd task 9 order:id025​ zrevrange task 0 -1 withscores​ zrevrange task 0 0 withscores​ zrem task order:id025

12120
  • 广告
    关闭

    云产品限时秒杀

    云服务器1核2G首年38元,还有多款热门云产品满足您的上云需求

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Redis的各种数据类型实践-ZSet

    key中元素member的分值加上increment ZCARD key返回有序集合key中元素个数ZRANGE key start stop 正序获取有序集合key从start下标到stop下标的元素ZREVRANGE image1)点击新闻每次有人点击这个新闻,那么久ius给他的分值加1ZINCRBY hotNews:20200722 1 1001 新闻ID为1001的新闻分值加一 2)展示当日排行前十取集合中的前10个元素ZREVRANGE ZUNIONSTORE hotNews:20200715-20200721 7 hotNews:20200715 hotNews:20200716... hotNews:20200721 4)展示七日排行前十ZREVRANGE

    19341

    【Go 语言社区】使用 Redis 实现排行榜功能

    withscores 参数可以附带获取元素的 score):ZRANGE rank:20150401 0 -1 withscores1) 22) 13) 14) 55) 36) 10按照分数从高到低,获取 top10:ZREVRANGE 比如“昨日积分榜”:ZREVRANGE rank:20150331 0 9 withscores利用并集实现多天的积分总和,实现“上周积分榜”:ZUNIONSTORE rank:last_week 7 那么查询上周积分榜 Top10 的信息就是:ZREVRANGE rank:last_week 0 9 withscores“月度榜”、“季度榜”、“年度榜”等等就以此类推。

    1.4K100

    Redis(6)——zset有序集合

    meber增加分数incrscore127.0.0.1:6379> zincrby zsetkey 10 xiaohong11zrangezrevrange返回指定范围的成员,zrange 是从低到高返回 zrevrange ,回返回成员的分数127.0.0.1:6379> zrange zsetkey 0 1 withscores1) xiaoming2) 23) xiaowang4) 3127.0.0.1:6379> zrevrange

    23730

    Redis数据类型--redis系列1

    会按照元素分数值排序ZADD添加有序集合 ZADD keyword 0 鹿晗 0 张朝阳 0 马云ZINCR keyword 1 鹿晗ZINCRBY keyword 5 马云ZINCRBY keyword 2 张朝阳ZREVRANGE 查询某个分数值区间内元素的数量ZCOUNT keyword 5 10ZSCORE 返回元素的分数值ZSCORE keyword 马云ZRANGE 获得有序集合的内容(升序)ZRANGE keyword 0 -1 ZREVRANGE 获得有序集合的内容(降序)ZREVRANGE keyword 0 -1ZRANGBYSCORE 获得分数值区间内的集合内容(升序)ZRANGEBYSCORE keyword 5 10ZRANGEBYSCORE

    5820

    如何用Redis实现微博关注关系

    $userID; 找出要查询的集合元素 $findSet = $redis->zRevRange($targetKey, $findStart, $findEnd, TRUE); 要查询的集合与我的关注交 followKey)); $redis->zInter($findInterFansKey, array($findKey, $fansKey)); $findInterFollowSet = $redis->zRevRange ($findInterFollowKey, 0, -1); $findInterFansSet = $redis->zRevRange($findInterFansKey, 0, -1); } else follow) { 看自己关注列表 $redis->zInter($fofaKey, array($findKey, $fansKey)); } } 互粉集合 $fofaSet = $redis->zRevRange

    97930

    【Go 语言社区】Redis(ZADD)简单排名

    除了成员按 score 值递减的次序排列这一点外, ZREVRANGE 命令的其他方面和ZRANGE 命令一样。 redis> ZRANGE salary 0 -1 WITHSCORES # 递增排列1) peter2) 35003) tom4) 40005) jack6) 5000redis> ZREVRANGE

    1.3K140

    Redis in .NET Core 入门:(5) Sorted SET

    想按分数要从高到低显示,需要使用ZREVRANGE:?也可以一同把分数显示出来,使用参数WITHSCORES:? ZREVRANGE,WITHSCORES?结果:?ZRANGEBYSCORE?结果:?ZREMRANGEBYSCORE?结果:?ZRANK?结果:?ZRANGEBYLEX?结果:?

    26220

    Redis教程08(ZSet有序集合介绍)

    命令 说明 zadd 向有序集合中添加一个或多个 分数元素对 zscore 获取有序集合中元素对应的分数 zrange 获取集合中的元素,如果加上withscores则会连同分数一并返回 zrevrange 0 -1 withscores1) a12) 603) a24) 705) a36) 807) a48) 90ZRevRange和zrange命令类似,只是结果倒序显示127.0.0.1:6379> zrevrange student 0 31) a42) a33) a24) a1127.0.0.1:6379> zrevrange student 0 3 withscores1) a42) 903) a34) 805

    52240

    redis命令之操作有序集合

    如果你需要成员按值递减(从大到小)来排列,请使用 ZREVRANGE 命令。 ZREMRANGEBYLEX key min max 移除有序集合中给定的字典区间的所有成员 ZREMRANGEBYRANK key start stop 移除有序集合中给定的排名区间的所有成员 ZREVRANGE 除了成员按分数值递减的次序排列这一点外, ZREVRANGE 命令的其他方面和ZRANGE 命令一样。

    15010

    玩转Redis-Redis高级数据结构及核心命令-ZSet

    2.2、ZSe查询【核心命令】查询分数【ZSCORE】;查询排名【ZRANK、ZREVRANK】;按排名排序查询【ZRANGE、ZREVRANGE】;按字典顺序排序查询【ZRANGEBYLEX、ZREVRANGEBYLEX 分页迭代【ZSCAN】;注意:【ZSCORE】可用于判断集合中是否存在某元素; 【ZRANK、ZREVRANK】查询排名 排名以0为基数计算;排序规则:按分数排序,分数相同按字典顺序排序; 【ZRANGE、ZREVRANGE 查询指定元素的【正序】排名 key member ZREVRANK 查询指定元素的【逆序】排名 key member ZRANGE 查询指定【排名区间】的元素(和分数) key start stop ZREVRANGE

    30610

    Redis zset 的一些使用

    如果需要 按score值递减(从大到小)来排列,使用ZREVRANGE命令。 返回的结果默认按照分数==从小到大==排列,如果需要 ==从大到==小排列,需要是用 ZREVRANGE 命令。start 和 stop 都以 0 开始,比如,0 为第一个成员,1 为第二个成员。 # 查看成员 以及分数 127.0.0.1:6379> ZRANGE key_1 0 -1 WITHSCORES1) xiaohong2) 203) xiaoming4) 200ZREVRANGE ZREVRANGE key start stop 用法和 ZRANGE 相同,只是排序是按照 分数 从大到小# 按照分数从大到小排列127.0.0.1:6379> ZREVRANGE key_1 0 -1 WITHSCORES1

    7.9K11

    Redis:12---有序集合对象

    zrange、zrevrange:返回指定排名范围的成员有序集合是按照分值排名的,zrange是从低到高返回,zrevrange反之如果加上withscores选项,同时会返 回成员的分数zrange key start end zrevrange key start end ? 此功能使用zrevrange命令实现:zrevrangebyrank user:ranking 0 9④展示用户信息以及用户分数。

    19020

    redis妙用-zset类型

    热点新闻排行榜# 将点击数作为score,没点一次进行加1ZINCRBY hotnews::20190528 1 李可首位归化国脚 # 展示排行,倒叙取10条,并携带score输出ZREVRANGE hotnews

    33221

    Redis散列与有序集合

    ZRANGE k1 0 3 withscores1) v12) 603) v24) 705) v36) 807) v48) 90ZREVRANGEZREVRANGE和ZRANGE功能基本一致,不同的是ZREVRANGE 是反着来的,如下:127.0.0.1:6379> ZREVRANGE k1 0 31) v52) v43) v34) v2127.0.0.1:6379> ZREVRANGE k1 0 3 withscores1

    21000

    在微博微信场景下学习Redis数据结构

    key中元素member的分值加上incrementZCARD key 返回有序集合key中元素个数ZRANGE key start stop 正序获取有序集合key从start下标到stop下标的元素ZREVRANGE 1)点击新闻ZINCRBY hotNews:20190819 1 乌镇十二时辰2)展示当日排行前十ZREVRANGE hotNews:20190819 0 10 WITHSCORES3)七日搜索榜单计算 ZUNIONSTORE hotNews:20190813-20190819 7 hotNews:20190813 hotNews:20190814... hotNews:201908194)展示七日排行前十ZREVRANGE

    20300

    Redis类型之sorted sets类型

    zrank 返回名称为key的zset中member元素的排名(按score从小到大排序) 5.png5、zrevrank 返回名称为key的zset中member元素的排名(按score从大到小排序)6、zrevrange

    28340

    Redis - sort set类型操作

    zrevrange        zrange key pos1 pos2 (withscores)    查询指定key从pos1到pos2的value,从大道小排序,加withscores则将序列一起输出

    604100

    7.Redis常用命令:ZSet

    withscores 1) France 2) 85 3) German 4) 88 5) Japan 6) 89 7) China 8) 95 9) Russia10) 9711) America12) 9910、ZREVRANGE 127.0.0.1:6379> zrevrange CountryPower 0 -1 withscores 1) America 2) 99 3) Russia 4) 97 5) China 6) 95

    44650

    扫码关注云+社区

    领取腾讯云代金券