加入收藏 | 设为首页 | 会员中心 | 我要投稿 网站开发网_安阳站长网 (https://www.0518zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

Redis存储总用String?你大概错过了更优的使用方法

发布时间:2019-01-31 04:43:37 所属栏目:站长百科 来源:王清培(沪江)
导读:副标题#e# Redis为我们提供了5种数据类型,基本上我们使用频率最高的就是String,而对其他四种数据类型使用的频次稍弱于String。原因在于: String使用起来比较简单,可以方便存储复杂的对象,使用场景比较多; 由于Redis expire time只能设置在key上,像Lis

Zset最强大的功能就是可以根据某个score比分值进行排序,这在很多业务场景中非常急需。比如,在促销活动里根据商品的销售数量来排序商品,在旅游景区里根据流入人数来排序热门景点等。基本上人们在做任何事情都需要根据某些条件进行排序。

其实Zset在我们应用系统中能用到地方到处都是,这里我们举一个简单的例子,在团购系统中我们通常需要根据参团人数来排序成团列表,大家都希望参加那些即将成团的团。

下图是一个根据团购code创建的Zset,score分值就是参团人数累加和:

Redis存储总用String?你大概错过了更优的使用方法

  1. ZADD zset:marketing:groupon:group:codes 5 G_PXYJY9QQFA 8 G_4EXMT6NZJQ 20 G_W7BMF5QC2P 10 G_429DHBTGZX 8 G_KHZGH9U4PP  
  2. ZREVRANGEBYSCORE zset:marketing:groupon:group:codes 1000 0  
  3. 1) "G_W7BMF5QC2P"  
  4. 2) "G_ZMZ69HJUCB"  
  5. 3) "G_429DHBTGZX"  
  6. 4) "G_KHZGH9U4PP"  
  7. 5) "G_4EXMT6NZJQ"  
  8. 6) "G_PXYJY9QQFA"   
  9.  
  10. ZREVRANGEBYSCORE zset:marketing:groupon:group:codes 1000 0 withscores  
  11.  1) "G_W7BMF5QC2P"  
  12.  2) "20"  
  13.  3) "G_ZMZ69HJUCB"  
  14.  4) "10" 
  15.  5) "G_429DHBTGZX"  
  16.  6) "10"  
  17.  7) "G_KHZGH9U4PP"  
  18.  8) "8"  
  19.  9) "G_4EXMT6NZJQ"  
  20. 10) "8"  
  21. 11) "G_PXYJY9QQFA"  
  22. 12) "5" 

Zset本身提供了很多方法用来进行集合的排序,如果需要score分值,可以使用withscore字句带出每一项的分值。

(编辑:网站开发网_安阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!