redis精进 - sortset&延时队列

本文介绍了Redis中的SortSet数据结构及其使用,包括其作为排行榜和权重队列/延时队列的应用场景。讨论了SortSet的唯一性和排序权重,并提到了PHP实现延时队列的实例,强调在满足特定需求时,Redis可作为轻量级消息队列的替代方案。
摘要由CSDN通过智能技术生成

最近精进学习Redis,边学边写

先赞后读,养成习惯

一、SortSet类型使用说明

zset 可能是 Redis 提供的最为特色的数据结构,它也是在面试中面试官最爱问的数据结构。

  • 一方面它是set,保证 value 的唯一性,
  • 一方面它可以给每个 value 一个 score,代表排序权重。

它的内部实现用的是一种叫做「跳跃列表」的数据结构。

二、SortSet常用命令

zset 中最后一个 value 被移除后,数据结构自动删除,内存被回收。

> zadd books 9.0 "think in java"
> zadd books 8.9 "java concurrency"
> zadd books 8.6 "java cookbook"

> zrange books 0 -1     # 按 score 排序列出,参数区间为排名范围
1) "java cookbook"
2) "java concurrency"
3) "think in java"

> zrevrange books 0 -1  # 按 score 逆序列出,参数区间为排名范围
1) "think in java"
2) "java concurrency"
3) "java cookbook"

> zcard books           # 相当于 count()
(integer) 3

> zscore books "java concurrency&
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值