前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【地铁上的Redis与C#】数据类型(十一)--sorted_set类型基本操作

【地铁上的Redis与C#】数据类型(十一)--sorted_set类型基本操作

作者头像
喵叔
发布2023-03-16 20:09:24
2740
发布2023-03-16 20:09:24
举报
文章被收录于专栏:喵叔's 专栏

目录

在开发中我们会遇到根据某个数值类型的字段对数据排序的要求,一般来说我们都会使用关系型数据库所提供的排序功能,但是如果数据量比较大的时候,我们就需要考虑使用Redis对数据进行排序了,但是我们前面所学的数据类型并不支持排序功能,因此就需要一个新的可以支持排序的类型,这就是我们从这篇文章起要讲的 sorted_set类型。

存储结构

sorted_set类型的存储结构是在set类型的存储结构的基础上添加了一个可排序的字段score,它的存储结构如下图所示:

在这里插入图片描述
在这里插入图片描述

在这里面,score不是用来存储数据的,是用来排序的。

基本操作
  1. 添加数据 以按照身高排队为例,当我们需要添加三个学生并且按照身高排序时,我们可以使用zadd指令,语法是这样的zadd key score1 member1 [score2 member2],可以这么编写指令来实现例子中的要求,zadd students 173 tom 161 jack 188 anna

Tip:这里需要注意的是,每条数据中排序字段score必须放在值member的前面。

  1. 获取数据 获取数据的方式有两种,zrange指令和zrevrange指令,它们唯一的区别就是zrange是按照从小到大排序的,zrevrange是按照从大到小排序的,除此之外他俩的语法是相同的,我们就以zrange为例来看一下。当我们需要输出学生按照身高排序后的数据时可以使用它,语法如下zrange key start stop [WITHSCORES],其中start表示获取数据的起始位置,stop表示获取数据的终止位置,可选参数WITHSCORES表示需要联通排序字段score中存储的数据一并输出,每两个一组。指令这么编写zrange students 0,-1
  2. 删除数据 删除数据和前面所讲大的set类似,使用zrem指令,语法是这样的zrem key member,具体例子就不再写出。
总结

本篇文章讲解了sorted_set类型的用法。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023/02/14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
    • 存储结构
      • 基本操作
        • 总结
        相关产品与服务
        关系型数据库
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档