Redis的数据类型
Redis的数据类型共有五种:string,list,hash,set,zset;
String 字符串相对来说做平常,key-value,类似是hashmap的用法;
List 队列,可以双向的存值,设计时,也可以简单用来当队列模式;
Hash 字典,一个key 对应多个值;
Set 无序的集合;
Zset 有序的集合;集合set
redis集合(set)类型和list列表类型类似,都可以用来存储多个字符串元素的集合。但是和list不同的是set集合当中不允许重复的元素。而且set集合当中元素是没有顺序的,不存在元素下标。
redis的set类型是使用哈希表构造的,它支持集合内的增删改查,并且支持多个集合间的交集、并集、差集操作。可以利用这些集合操作,解决程序开发过程当中很多数据集合间的问题)合集set——基本命令
sadd
语法:sadd key value
作用:将一个或多个值 value 加入到集合中
返回值:数字,添加成功的个数,如果元素已经存在,则不会添加
Smembers
语法:smembers key
作用:获取集合中所有的元素
返回值:元素的list

Sismember
语法:sismember key value
作用:判断集合中是否有该元素
返回值:有,返回1,无返回0;

Scard
语法:scard key
作用:获取集合中的元素个数
返回值:获取元素个数
srem
语法:srem key value
作用:删除集合中对应的值
Sscan
语法:sscan key match
作用:查集合中的值;
sinter
语法:sinter key key
作用:获取两个集合中的交际。
sunion
语法:sunion key key
作用:
两个集合的并集;
sdiff
两个集合的差集;
使用场景
1. 标签
给用户打上感兴趣的标签,然后就能知道相同不同用户拥有相互爱好的群体;
2.公共好友
一个人的好友,这样的话就能知道共同拥有的好友;有序合集zset
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。
使用场景:
1、根据时间排序的新闻列表等,
2、 阅读排行榜
实现方式:edis sorted set的内部使用HashMap和跳跃表(SkipList)来保证数据的存储和有序,HashMap里放的是成员到score的映射,而跳跃表里存放的是所有的成员,排序依据是HashMap里存的score,使用跳跃表的结构可以获得比较高的查找效率,并且在实现上比较简单。
作者:liuwj的ing
链接:https://www.jianshu.com/p/eddd2388d077
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

redis zset怎么排序_redis(set、zset)类型使用和使用场景相关推荐

  1. list redis 怎样做排行_Redis中5种数据结构的使用场景介绍

    一.redis 数据结构使用场景 原来看过 redisbook 这本书,对 redis 的基本功能都已经熟悉了,从上周开始看 redis 的源码.目前目标是吃透 redis 的数据结构.我们都知道,在 ...

  2. Redis从精通到入门——数据类型Zset实现源码详解

    Redis数据类型之Zset详解 Zset简介 Zset常用操作 应用场景 Zset实现 源码阅读 Zset-ziplist实现 图解Zset-ziplist Zset-字典(dict) + 跳表(z ...

  3. 线上redis一般安在linux_redis的zset有多牛?请把耳朵递过来

    原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处. 本篇文章很短,但信息量很大,是关于redis的zset.我来分享一点遇到过的线上数据,或许对你的决策有帮助. redis支 ...

  4. redis set不可重复_Redis的使用

    1.Redis的概念 Redis运行过程,也就是读写过程都是基于内存实现的key/value存储,对比与memcached而言,会基于异步方式(快照)同步到文件系统,实现数据 的持久性存储,单一进程响 ...

  5. redis映射的概念_Redis存储总是心里没底?你大概漏了这些数据结构原理

    原标题:Redis存储总是心里没底?你大概漏了这些数据结构原理 上一篇文章<Redis存储总用String?你大概错过了更优的使用方法>我们了解了Redis的数据类型特点与适用场景,本期内 ...

  6. 通过对象属性去重_Redis常见对象类型的底层数据结构

    作者:伍陆七 来源:cnblogs.com/chentianming/p/13838347.html Redis 是一个基于内存中的数据结构存储系统,可以用作数据库.缓存和消息中间件.Redis 支持 ...

  7. Redis与Jedis排序

    在本文中,我们将讨论Redis SORT命令. Redis提供了SORT命令,我们可以使用该命令从LIST,SET或ZSET中检索或存储排序的值. 我们可以使用最简单的形式在KEY上使用命令,如下例所 ...

  8. redis的lru原理_Redis的LRU机制介绍

    高并发架构系列:Redis的内存回收原理,及内存过期淘汰策略详解 Redis内存回收机制 Redis的内存回收主要围绕以下两个方面: 1.Redis过期策略删除过期时间的key值 **2.Redis淘 ...

  9. list redis 怎样做排行_Redis排行榜的设计与实现

    后知后觉,前几天做的自以为挺满意的排行榜,不正是zset的经典实现么,现在的思路全都是查库的操作,由于业务原因,有些是异步操作,难免存在已经计分,但分数还没有入库,这时去查库,导致与实际的分数不一致的 ...

最新文章

  1. Linux安装jupyter debugger+Conda设置proxy代理
  2. 2021努力拼搏,致敬为梦想而拼搏的人
  3. JS 创建对象的七种方式
  4. Python 爬虫学习 系列教程
  5. webservice 服务器无法处理请求_Message Queue与WebService比较
  6. Maven3版本的超级POM位置及中央仓库位置
  7. 四位七段数码管pcb_BlockPi入门教程——数码管
  8. 控制面板中java设置项如何删除
  9. Unity中使用Curvy快速生成路径,并使物体沿着路线运动
  10. 软件是指示计算机运行所需的程序,计算机基础知识A.ppt
  11. 皮肤测试小软件有哪些,【皮肤测试小程序】皮肤测试小程序有什么功能呢?
  12. docker ctrl p 失灵
  13. usb 接口触摸屏驱动
  14. oracle dbms_metadata,DBMS_METADATA报错解决方法
  15. 印度为何能频频培养出全球顶尖的程序员?
  16. 04.ARM-mini2440-内存管理单元(MMU)
  17. 浏览器兼容性适配方法总结(跨浏览器)
  18. Python实现80后童年经典游戏:坦克大战
  19. 服务器配置(测试服务器)
  20. 【嵌入式C语言】4.指针

热门文章

  1. 随机森林分类算法python代码_随机森林的原理及Python代码实现
  2. python百分号转义_python 转义字符、运算符、列表。。。。
  3. OpenGL与EGL最简流程(十八)
  4. Android ueventd浅析
  5. Android抓包方法(三) 之Win7笔记本Wifi热点+WireShark工具
  6. Abseil之拆分字符串
  7. VALSE学习(十三):网络结构搜索提速方法和训练技巧-NAS
  8. modbus通讯协议编程实例_三菱PLC CC-LINK通讯编程实例分享,看完你就会了
  9. linux服务器学习笔记:linux如何远程登录?
  10. python穷举法_python 穷举指定长度的密码例子