Redis-7-redis操作有序集合(sorted sets)

本文介绍了Redis中的有序集合,每个元素包含值和分数用于排序。详细讲解了有序集合的添加、查询、删除等方法,如zadd、zcard、zrange、zrevrange、zscore等,还涉及到了集合的交集和并集操作zinterstore和zunionstore。
摘要由CSDN通过智能技术生成

前言

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

 

有序集合常用方法

zadd(name, mapping):在name对应的有序集合中添加元素,元素为mapping格式,即dict格式

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

zcount(name, min, max):获取对应name的有序集合中,在指定范围中的元素个数

import redis

r = redis.Redis()
r.zadd("zset001",{"a":100,"b":50,"c":80,"d":60,"e":40} )
print(r.zcard("zset001"))  # 有序集合中的元素个数,结果:5
print(r.zcount("zset001",60,150))  # 元素满足60~150的个数,结果:3

 

zrange( name, start, end, desc=False, withscores=False, score_cast_func=float):在索引范围内获取元素(升序)

name:redis的name

start:有序集合索引起始位置

end:有序集合索引解说位置

desc:默认为False,升序排序

withscores:默认为False,只获取元素

score_cast_func:对分数进行转化,默认为float类型

 

zrevrange(name, start, end, withscores=False, score_cast_func=float):在索引范围内获取元素(降序),参数与zrange一致

import redis

r = redis.Redis()
r.zadd("zset002",{"a":100,"b":50,"c":80,"d":60,"e":40})
print(r.zrange("zset002",1,3))  # 从索引为1开始到索引为3(包括3)升序排列结果:[b'b', b'd', b'c']
print(r.zrevrange("zset002",1,3))  # 从索引为1开始到索引为3(包括3)降序排列结果:[b'c', b'd', b'b']

 

zrank(name, value):在name对应的有序集合中查找元素的索引值(升序排列后再取索引,索引从0开始)

zrevrank(name, value):在name对应的有序集合中查找元素的索引值(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值