zoukankan      html  css  js  c++  java
  • Redis Zset 有序集合

    Redis - Zset 有序集合

    1、有序集合Zset和普通的集合很相似,每个值没有重复数据,每个值是有顺序的,这就是和set的最大区别

    2、常用操作命令:

    1)zadd <key> <score1> <value1> <score2> <value2>
    给键名为 key 的有序集合中添加一个value值和它的score值(顺序?)
    value值是真实存放的数据,score只是一个校验顺序的值,通过这个score值来进行排序
    
    2)zrange <key> start end [withscores]:
    从键名为 key 的Zset中取值,范围是 start到end,0 -1 表示取出所有值
    如果带上 withscores,会将score一起获取到
    	
    3)zrangebyscore <key> min max [withscores] [limit offset count]
    返回键名为key的Zset中,所有score介于 min和max之间的数据(包含min、max)
    还可以限定取值的个数
    取出的值从小到大排序
    			
    4)zrevrangebyscore <key> min max [withscores] [limit offset count]
    和上一个操作类似,取出的值是从大到小排序
    
    5)zincrby <key> <number> <value>:
    给键名为key的Zset中的value的score增加number的数量,能达到修改排序的作用
    
    6)zrem <key> <value>:
    删除键名为key的Zset中的value值
    
    7)zcount <key> <min> <max>:
    统计键名为key的Zset中排序值在 min 和 max 之间的数据个数
    

    3、通过Zset有序集合设计文章的排行榜:

    数据形式:
    	key值:book_top_n
    	score值:访问数,每次访问 通过 zincrby <key> <number> <value> 进行score值+1
    	value值:书名
    	
    key	score	value
    book_top_n	50	C++从基础到实战
    book_top_n	23	Java从基础到实战
    book_top_n	13	Php从基础到实战
    

    4、Zset有序集合的数据结构
    1)hash存储
    2)跳表

    本文来自博客园,作者:alisleepy,转载请注明原文链接:https://www.cnblogs.com/alisleepy/p/15647474.html

  • 相关阅读:
    C语言 · 报时助手
    C语言 · 完美的代价
    C语言 · 十六进制转八进制
    C语言 · 十六进制转十进制
    C语言 · 芯片测试
    C语言 · 素数求和
    C语言 · 五次方数
    Lodop多分出空白页的可能(情况1)
    C-Lodop提示“网页还没下载完毕,请稍等一下再操作.”
    Lodop简答问答大全
  • 原文地址:https://www.cnblogs.com/alisleepy/p/15647474.html
Copyright © 2011-2022 走看看