前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Go 语言社区】Redis(ZADD)简单排名

【Go 语言社区】Redis(ZADD)简单排名

作者头像
李海彬
发布2018-03-20 11:05:00
2.2K0
发布2018-03-20 11:05:00
举报
文章被收录于专栏:Golang语言社区Golang语言社区

Redis

ZADD key score member [[score member] [score member] ...]

将一个或多个 member 元素及其 score 值加入到有序集 key 当中。

如果某个 member 已经是有序集的成员,那么更新这个 member 的 score 值,并通过重新插入这个 member 元素,来保证该 member 在正确的位置上。

score 值可以是整数值或双精度浮点数。

如果 key 不存在,则创建一个空的有序集并执行 ZADD 操作。

当 key 存在但不是有序集类型时,返回一个错误。

对有序集的更多介绍请参见 sorted set 。

  • 可用版本:
  • >= 1.2.0
  • 时间复杂度:
  • O(M*log(N)), N 是有序集的基数, M 为成功添加的新成员的数量。
  • 返回值:
  • 被成功添加的新成员的数量,不包括那些被更新的、已经存在的成员。
  • # 添加单个元素redis> ZADD page_rank 10 google.com (integer) 1# 添加多个元素redis> ZADD page_rank 9 baidu.com 8 bing.com (integer) 2 redis> ZRANGE page_rank 0 -1 WITHSCORES 1) "bing.com"2) "8"3) "baidu.com"4) "9"5) "google.com"6) "10"# 添加已存在元素,且 score 值不变redis> ZADD page_rank 10 google.com (integer) 0 redis> ZRANGE page_rank 0 -1 WITHSCORES # 没有改变1) "bing.com"2) "8"3) "baidu.com"4) "9"5) "google.com"6) "10"# 添加已存在元素,但是改变 score 值redis> ZADD page_rank 6 bing.com (integer) 0 redis> ZRANGE page_rank 0 -1 WITHSCORES # bing.com 元素的 score 值被改变1) "bing.com"2) "6"3) "baidu.com"4) "9"5) "google.com"6) "10"

ZREVRANGE key start stop [WITHSCORES]

返回有序集 key 中,指定区间内的成员。

其中成员的位置按 score 值递减(从大到小)来排列。

具有相同 score 值的成员按字典序的逆序( reverse lexicographical order )排列。

除了成员按 score 值递减的次序排列这一点外, ZREVRANGE 命令的其他方面和ZRANGE 命令一样。

  • 可用版本:
  • >= 1.2.0
  • 时间复杂度:
  • O(log(N)+M), N 为有序集的基数,而 M 为结果集的基数。
  • 返回值:
  • 指定区间内,带有 score 值(可选)的有序集成员的列表。
代码语言:javascript
复制
redis> ZRANGE salary 0 -1 WITHSCORES        
# 递增排列1) "peter"2) "3500"3) "tom"4) "4000"5) "jack"6) "5000"redis> ZREVRANGE salary 0 -1 WITHSCORES     
# 递减排列1) "jack"2) "5000"3) "tom"4) "4000"5) "peter"6) "3500"
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-02-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Golang语言社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Redis
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档