Redis学习---Redis操作之有序集合

有序集合,在集合的基础上,为每元素排序;元素的排序需要根据另外一个值来进行比较,所以,对于有序集合,每一个元素有两个值,即:值和分数,分数专门用来做排序。

zadd(name, *args, **kwargs)
#在name对应的有序集合中添加元素

image

--------------------------------------------------------------------------------------------------------------------------------------

zcard(name)
# 获取name对应的有序集合元素的数量

image

--------------------------------------------------------------------------------------------------------------------------------------

zcount(name, min, max)
# 获取name对应的有序集合中分数 在 [min,max] 之间的个数

--------------------------------------------------------------------------------------------------------------------------------------

zincrby(name, value, amount)
# 自增name对应的有序集合的 name 对应的分数

--------------------------------------------------------------------------------------------------------------------------------------

r.zrange( name, start, end, desc=False, withscores=False, score_cast_func=float)
# 按照索引范围获取name对应的有序集合的元素 
# 参数:
    # name,redis的name
    # start,有序集合索引起始位置(非分数)
    # end,有序集合索引结束位置(非分数)
    # desc,排序规则,默认按照分数从小到大排序
    # withscores,是否获取元素的分数,默认只获取元素的值
    # score_cast_func,对分数进行数据转换的函数 
# 更多:
    # 从大到小排序
    # zrevrange(name, start, end, withscores=False, score_cast_func=float)
 
    # 按照分数范围获取name对应的有序集合的元素
    # zrangebyscore(name, min, max, start=None, num=None, withscores=False, score_cast_func=float)
    # 从大到小排序
    # zrevrangebyscore(name, max, min, start=None, num=None, withscores=False, score_cast_func=float)

image

--------------------------------------------------------------------------------------------------------------------------------------

zrank(name, value)
# 获取某个值在 name对应的有序集合中的排行(从 0 开始)  # 更多:     # zrevrank(name, value),从大到小排序

image

--------------------------------------------------------------------------------------------------------------------------------------

zrem(name, values)
# 删除name对应的有序集合中值是values的成员  # 如:zrem('zz', ['s1', 's2'])

--------------------------------------------------------------------------------------------------------------------------------------

zremrangebyrank(name, min, max)
# 根据排行范围删除

image

--------------------------------------------------------------------------------------------------------------------------------------

zremrangebyscore(name, min, max)
# 根据分数范围删除

--------------------------------------------------------------------------------------------------------------------------------------

zscore(name, value)
# 获取name对应有序集合中 value 对应的分数

image

--------------------------------------------------------------------------------------------------------------------------------------

zinterstore(dest, keys, aggregate=None)
# 获取两个有序集合的交集,如果遇到相同值不同分数,则按照aggregate进行操作
# aggregate的值为:  SUM  MIN  MAX

image

--------------------------------------------------------------------------------------------------------------------------------------

zscan(name, cursor=0, match=None, count=None, score_cast_func=float)
zscan_iter(name, match=None, count=None,score_cast_func=float)
# 同字符串相似,相较于字符串新增score_cast_func,用来对分数进行操作

转载于:https://www.cnblogs.com/ftl1012/p/9426462.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值