面试官这Redis夺命连环12问,谁顶得住?

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 面试官这夺命连环12问,谁顶得住?面试官: 同学,我看你每个项目中都用到了Redis,你能说说你是怎样使用Redis的吗?

面试官这夺命连环12问,谁顶得住?

面试官: 同学,我看你每个项目中都用到了Redis,你能说说你是怎样使用Redis的吗?


小A同学: 主要用来做缓存,分布式Session, 阅读量/点赞数统计


面试官: 嗯,好的,Redis如何做持久化的?


小A同学: bgsave做全量持久化到RDB二进制文件中,aof做增量持久化,存储的是文本协议数据。


面试官:它们的优缺点呢?


小A同学:rdb二进制文件启动加载速度可以更快,aof要重放命令,所以速度比较慢

面试官: Redis持久化期间,主进程还能对外提供服务吗?


小A同学: 能


面试官:那Redis如何处理新写入的数据呢,这个数据也会直接进行持久化吗?


小A同学:。。。这个可能吧!


面试官: Reids可以设置最大内存大小,如果数据达到了内存最大限制,Redis如何处理呢?


小A同学:可以配置淘汰策略 LRU 或者 LFU 淘汰策略。


面试官:Redis 的LRU算法实现原理,可以讲讲吗?


小A同学:这个不太清楚。

面试官: Redis 核心数据类型有哪些?


小A同学: string, hash, list, set, zset.


面试官:存储数据用 string 类型 和 hash 类型,你是如何选择的呢?


小A同学:string 对大量字段的对象中的某个数据进行获取,需要进行整体的数据获取,在客户端完成反序列化,而hash可以获取指定字段获取数据。所以根据访问需求来选择。


面试官:还有其他的考虑吗?


小A同学:没有


面试官: zset 底层的实现原理有了解过吗?


小A同学: 好像是跳表实现的吧!


面试官: 你能讲讲它的实现原理以及时间复杂度分析吗?


小A同学:这个不太清楚。

面试官: 你能说说缓存穿透是怎么回事吗?


小A同学:要查询的数据,缓存中不存在,直接打到了数据库,这种请求如果很多的话,全都穿透到数据库, 就会导致数据库奔溃,


面试官:解决方案呢?


小A同学:可以用布隆过滤器来阻挡。


面试官:布隆过滤器的实现原理是什么?能讲讲么?


小A同学:这个不太清楚。


面试官:好的,感谢你参加我们公司的面试,咱们今天就先到这里

为什么面试老是遇到Redis问题?Redis的底层设计原理明明懂一些,可就是说不到点子上?以后还遇到这些Redis的面试题可怎么办?想想就慌!

本文就是愿天堂没有BUG给大家分享的内容,大家有收获的话可以分享下,想学习更多的话可以到微信公众号里找我,我等你哦。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
1天前
|
缓存 NoSQL 关系型数据库
大厂面试高频:如何解决Redis缓存雪崩、缓存穿透、缓存并发等5大难题
本文详解缓存雪崩、缓存穿透、缓存并发及缓存预热等问题,提供高可用解决方案,帮助你在大厂面试和实际工作中应对这些常见并发场景。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:如何解决Redis缓存雪崩、缓存穿透、缓存并发等5大难题
|
1月前
|
存储 NoSQL Java
可能是最漂亮的Redis面试基础详解
我是南哥,相信对你通关面试、拿下Offer有所帮助。敲黑板:本文总结了Redis基础最常见的面试题!包含了Redis五大基本数据类型、Redis内存回收策略、Redis持久化等。相信大部分Redis初学者都会忽略掉一个重要的知识点,Redis其实是单线程模型。我们按直觉来看应该是多线程比单线程更快、处理能力更强才对,比如单线程一次只可以做一件事情,而多线程却可以同时做十件事情。但Redis却可以做到每秒万级别的处理能力,主要是基于以下原因:(1)Redis是基于内存操作的,Redis所有的数据库状态都保存在
可能是最漂亮的Redis面试基础详解
|
26天前
|
NoSQL Java API
美团面试:Redis锁如何续期?Redis锁超时,任务没完怎么办?
在40岁老架构师尼恩的读者交流群中,近期有小伙伴在面试一线互联网企业时遇到了关于Redis分布式锁过期及自动续期的问题。尼恩对此进行了系统化的梳理,介绍了两种核心解决方案:一是通过增加版本号实现乐观锁,二是利用watch dog自动续期机制。后者通过后台线程定期检查锁的状态并在必要时延长锁的过期时间,确保锁不会因超时而意外释放。尼恩还分享了详细的代码实现和原理分析,帮助读者深入理解并掌握这些技术点,以便在面试中自信应对相关问题。更多技术细节和面试准备资料可在尼恩的技术文章和《尼恩Java面试宝典》中获取。
美团面试:Redis锁如何续期?Redis锁超时,任务没完怎么办?
|
1月前
|
NoSQL 算法 Redis
Redis面试篇
Redis面试篇
35 5
|
1月前
|
缓存 NoSQL Java
Java中redis面试题
Java中redis面试题
33 1
|
13天前
|
存储 NoSQL Redis
Redis常见面试题:ZSet底层数据结构,SDS、压缩列表ZipList、跳表SkipList
String类型底层数据结构,List类型全面解析,ZSet底层数据结构;简单动态字符串SDS、压缩列表ZipList、哈希表、跳表SkipList、整数数组IntSet
|
2月前
|
存储 缓存 NoSQL
【Java面试题汇总】Redis篇(2023版)
Redis的数据类型、zset底层实现、持久化策略、分布式锁、缓存穿透、击穿、雪崩的区别、双写一致性、主从同步机制、单线程架构、高可用、缓存淘汰策略、Redis事务是否满足ACID、如何排查Redis中的慢查询
【Java面试题汇总】Redis篇(2023版)
|
1月前
|
NoSQL Redis
redis 的 key 过期策略是怎么实现的(经典面试题)超级通俗易懂的解释!
本文解释了Redis实现key过期策略的方式,包括定期删除和惰性删除两种机制,并提到了Redis的内存淘汰策略作为补充,以确保过期的key能够被及时删除。
50 1
|
2月前
|
缓存 监控 NoSQL
阿里面试让聊一聊Redis 的内存淘汰(驱逐)策略
大家好,我是 V 哥。粉丝小 A 面试阿里时被问到 Redis 的内存淘汰策略问题,特此整理了一份详细笔记供参考。Redis 的内存淘汰策略决定了在内存达到上限时如何移除数据。希望这份笔记对你有所帮助!欢迎关注“威哥爱编程”,一起学习与成长。
|
1月前
|
缓存 NoSQL 算法
面试题:Redis如何实现分布式锁!
面试题:Redis如何实现分布式锁!
下一篇
无影云桌面