RedisTemplate操作zset类型

1 篇文章 0 订阅

zset是有序的,不可重复的集合,每个元素都有一个分数,根据分数从小到大排序。

ZSetOperations 提供了一系列方法对有序集合进行操作,添加元素(有序集合是按照元素的 score 值由小到大进行排列)。

redisTemplate.opsForZSet().add(key, value, score)
删除对应的 value,value 可以为多个值

redisTemplate.opsForZSet().remove(key, values)
增加元素的 score 值,并返回增加后的值

redisTemplate.opsForZSet().incrementScore(key, value, delta)
返回元素在集合的排名,有序集合是按照元素的 score 值由小到大排列

redisTemplate.opsForZSet().rank(key, value)
返回元素在集合的排名,按元素的 score 值由大到小排列

redisTemplate.opsForZSet().reverseRank(key, value)
获取集合中给定区间的元素(start 开始位置,end 结束位置, -1 查询所有)

redisTemplate.opsForZSet().reverseRangeWithScores(key, start,end)
按照 Score 值查询集合中的元素,结果从小到大排序

redisTemplate.opsForZSet().reverseRangeByScore(key, min, max)
从高到低的排序集中获取分数在最小和最大值之间的元素

redisTemplate.opsForZSet().reverseRangeByScore(key, min, max, start, end)
根据 score 值获取集合元素数量

redisTemplate.opsForZSet().count(key, min, max)
获取集合的大小

redisTemplate.opsForZSet().size(key)
获取集合中 key、value 元素对应的 score 值

redisTemplate.opsForZSet().score(key, value)
移除指定索引位置处的成员

redisTemplate.opsForZSet().removeRange(key, start, end)
移除指定 score 范围的集合成员

redisTemplate.opsForZSet().removeRangeByScore(key, min, max)
获取 key 和 otherKey 的并集并存储在 destKey 中(其中 otherKeys 可以为单个字符串或者字符串集合)

redisTemplate.opsForZSet().unionAndStore(key, otherKey, destKey)
获取 key 和 otherKey 的交集并存储在 destKey 中(其中 otherKeys 可以为单个字符串或者字符串集合)

redisTemplate.opsForZSet().intersectAndStore(key, otherKey, destKey)
遍历集合(和 iterator 一模一样)

redisTemplate.opsForZSet().rangeByScoreWithScores(K key, double min, double max, long offset, long count)
key为查询的有序集合的键名;min和max为分数范围的下限值和上限值,可以使用-infinity和+infinity表示最小值和最大值;limit和count可以指定返回结果的偏移量和数量。

Cursor<TypedTuple> scan = opsForZSet.scan(“test3”, ScanOptions.NONE); while (scan.hasNext()){
ZSetOperations.TypedTuple item = scan.next();
System.out.println(item.getValue() + “:” + item.getScore());
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值