首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
啊叭啊叭啊叭叭
门头沟学院 Java
发布于天津
关注
已关注
取消关注
@JavaSouth南哥:
【面试官】Redis有序集合用什么数据结构来实现?
面试官:Redis什么这么快? 面试官:你说说Redis五大基本数据类型? 面试官:有利用过有序集合开发过什么功能吗? 面试官:有序集合用什么数据结构来实现? 面试官:那有序集合为什么要使用字典和跳跃表? 面试官:压缩列表呢? 大家好,我是南哥。 一个Java学习与进阶的领路人,跟着南哥我们一起Java成长。 文章目录 Redis快的秘密 Redis数据类型 Redis五大基本数据类型 有序集合业务场景 有序集合数据结构 为什么使用字典和跳跃表 压缩列表 1. Redis快的秘密 面试官:Redis什么这么快? 相信大部分Redis初学者都会忽略掉一个重要的知识点,Redis其实是单线程模型。我们按直觉来看应该是多线程比单线程更快、处理能力更强才对,比如单线程一次只可以做一件事情,而多线程却可以同时做十件事情。 但Redis却可以做到每秒万级别的处理能力,主要是基于以下原因: (1)Redis是基于内存操作的,Redis所有的数据库状态都保存在内存中。而内存的响应时长是非常快速的,大约在100纳秒。大家可以对比下其他服务器磁盘,固态硬盘(SSD)、机械硬盘(HDD)响应时长大约几十微秒,很明显远远没有基于内存的响应时长快速。 (2)Redis采用I/O多路复用技术,这种I/O模型是非阻塞I/O,应用程序在等待I/O操作完成的过程中不需要阻塞。 (3)最后一点也是我开头提到的,Redis采用了单线程模型。单线程模型避免了多线程产生的线程切换和锁竞争带来的资源消耗,这两种消耗对性能影响是很大的。另外一点是单线程相比多线程来说实现更简单高效,如果引入多线程设计相信Redis实现起来会更加复杂不易优化。 2. Redis数据类型 2.1 Redis五大基本数据类型 面试官:你说说Redis五大基本数据类型? Redis基本数据类型一共有五种,这也是面试官重点考查的基础,大家要重点关注下。 (1)字符串。 字符串是Redis最基础,也是业务开发中最常见的一种数据类型。在业务上一般使用MySQL作为实际存储层,而Redis字符串作为缓冲层对象。 127.0.0.1:6379> set name JavaGetOfferOK127.0.0.1:6379> get name"JavaGetOffer" (2)哈希。 哈希的键值本身是一个键值对结构,类似于key = {{field, value}, {field, value}}。 我们可以使用hset命令设置哈希键值,而hget命令可以获取哈希对象中某个field的值。 127.0.0.1:6379> hset msg name JavaGetOffer(integer) 1127.0.0.1:6379> hset msg avator 思考的陈(integer) 1127.0.0.1:6379> hget msg name"JavaGetOffer"127.0.0.1:6379> hget msg avator"思考的陈" (3)列表。 Redis的列表是一个有序列表,但大家注意一点,此处所说的有序不是按数据大小排序的有序,而是按插入顺序的有序。另外一点特殊之处是我们可以往列表的左右两边添加元素。 # 从右边添加127.0.0.1:6379> rpush number 1 2 3(integer) 3# 从左边添加127.0.0.1:6379> lpush number 4 5 6(integer) 6127.0.0.1:6379> lrange number 0 51) "6"2) "5"3) "4"4) "1"5) "2"6) "3" (4)集合。 集合类型和列表不同之处在于它是无序的,同时也不支持保存重复的元素。 另外两个集合之间可以获得交集、并集、差集。利用这一点,如果在业务上要求得两个用户相同的兴趣标签,可以使用Redis集合存储用户兴趣标签,再使用交集命令来查询。 127.0.0.1:6379> sadd user:1:like game bask run(integer) 3127.0.0.1:6379> sadd user:2:like game basketball fitness(integer) 3# 求交集127.0.0.1:6379> sinter user:1:like user:2:like1) "game" (5)有序集合。 有序集合算是Redis中比较特殊的一种数据类型,有序集合里的每个元素都带有一个score属性,通过该score属性进行排序。如果我们往有序集合插入元素,此时它就不像列表对象一样是插入有序,而是根据score进行排序的。 127.0.0.1:6379> zadd 100run:ranking 13 mike(integer) 1127.0.0.1:6379> zadd
点赞 7
评论 0
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
04-28 14:18
已编辑
安徽大学 Java
26Java后端开发暑假实习 希音Shein 时间线
2025-04-09 20:57 网申投递简历4-21 一面 https://www.nowcoder.com/feed/main/detail/2e235d5c9a3d4a25a65434d90070e085?sourceSSR=users,其实一直在推进度,只是我还有别的面试流程4-23 二面 https://www.nowcoder.com/feed/main/detail/265157a02c384eb6aef47d2b3d50fed04-24上午 HR面 https://www.nowcoder.com/feed/main/detail/5a16b58cb1cc431b811763a...
点赞
评论
收藏
分享
04-25 07:40
清华大学 BSP工程师
可投嵌入式公司汇总4.24
后续添加投递链接1.华为 2.中兴通讯 3.大疆创新 4.海康威视 5.浙江大华 6.小米 7.联想 8.字节跳动(少部分岗位) 9.联发科 10.汇顶科技 11.瑞芯电子 12.紫光展锐 13.理想汽车 14.小鹏汽车 15.赛力斯 16.极氪汽车 17.联影医疗 18.鱼跃医疗 19.九阳股份 20.美的集团 21.格力电器 22.Tplink 23.斑马智行 24.比亚迪 25.南瑞继保 26.四方继保 27.中科曙光 28.华勤集团 29.禾望电气 30.海尔集团 31.汇川技术 32.锐捷网络 33.诺瓦星云 34.华测导航 35.虹软技术 36.万集科技 37.恒生电子 38.禾赛...
投递实习岗位前的准备
点赞
评论
收藏
分享
04-29 21:58
门头沟学院 Java
27届二本小厂面筋
1.介绍一下你这个微服务项目吧(黑马商城)2.spring cloud gateway 如何鉴权(这里直接记错了,答的在网关中将用户信息存入ThreadLocal,面试官直接说我不够了解,让我继续学习)3.介绍一下你用的请求限流、线程隔离、服务降级和熔断处理4.es为什么快,介绍一下倒排索引和正排索引5.对反射有了解嘛,说说对反射的理解6.现在假如我有一个场景,我需要通过反射来实例化一个对象并给它的某个字段设置我指定的值,如何实现7.list接口下常用的实现类8.ArrayList和LinkedList区别9.给你一个场景,我有一个list,里面的类型是String类型,需要找出里面值为&qu...
查看29道真题和解析
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
暑期后端高频问题汇总
7.2W
2
...
左手敲代码的程序员,不配拥有offer吗?
7.0W
3
...
后端简历上最值得写的项目
1.1W
4
...
五一假期,弯道超车时间表
1.0W
5
...
北京到底有谁在啊?
9575
6
...
五一别写你那破开源代码了
8862
7
...
五一准备刷完这些面试八股题!!
7792
8
...
快手投诉后续- HR把我拉黑了!
6469
9
...
和ai聊天,忍不住爆哭
6461
10
...
拼多多服务端信息确认
6182
创作者周榜
更多
正在热议
更多
#
找工作,行业重要还是岗位重要?
#
8001次浏览
104人参与
#
五一之后,实习真的很难找吗?
#
46211次浏览
334人参与
#
盲审过后你想做什么?
#
12784次浏览
115人参与
#
领导秒批的请假话术
#
10051次浏览
74人参与
#
小厂实习有必要去吗
#
42242次浏览
260人参与
#
设计人如何选offer
#
98466次浏览
690人参与
#
外包能不能当跳板?
#
22213次浏览
191人参与
#
五一假期,你打算“躺”还是“卷”?
#
31543次浏览
441人参与
#
考研可以缓解求职焦虑吗
#
21311次浏览
252人参与
#
面试等了一周没回复,还有戏吗
#
115723次浏览
1076人参与
#
大疆的机械笔试比去年难吗
#
69667次浏览
603人参与
#
找工作前vs找工作后的心路变化
#
7214次浏览
64人参与
#
如果有时光机,你最想去到哪个年纪?
#
43363次浏览
769人参与
#
硬件人,你被哪些公司给挂了
#
46789次浏览
723人参与
#
写简历别走弯路
#
714627次浏览
7850人参与
#
应届生薪资多少才合理?
#
3130次浏览
24人参与
#
你喜欢工作还是上学
#
37743次浏览
413人参与
#
每人推荐一个小而美的高薪公司
#
72866次浏览
1357人参与
#
如果不工作真的会快乐吗
#
101301次浏览
867人参与
#
许愿池
#
271929次浏览
2849人参与
牛客网
牛客企业服务