Redis高频面试题汇总(2021最新版)

此时此刻面试官内心想发大致是这样的:

  • 比较基础,应该没有很深入的了解过Redis

  • 想问题停留在表面呀,估计平时就知道干活,没想过问题

  • 给你自由发挥的机会,你不把握呀,看样子还是得我自己来,先问你几个分布式、持久化的问题看看水平怎么样,不行就这样了吧,后面还有好多人,等会要下班了。

如果不想硬抗下面试官的降龙十八掌,就应该主动挑起面试官的兴趣,并且把自己的格局(水平广度和深度)率先提升起来,将自己会的东西尽可能的多讲一些出来。 ​

比如以下这种回答方式:

1634178376421.jpg

Redis面试题汇总


1634183114943.jpg

这个我的理解大致是这样的面试官!!

高性能:高性能一个很大的标准,就是响应时间快。Redis基于内存存储,CPU访问速度快,此外Redis对于数据结构的极致优化、内部线程模型和网络I/O模型的设计,决定了Redis是一个高性能存储数据库。唯一的缺点就是内存比较昂贵,通常情况下资源比较有限,因此对于非常大的数据缓存架构应该合理设计,我们通常不会在Redis中存放过大的数据,因为这样会导致Redis性能下降。

高并发:高并发通常指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second)和并发用户数等,Redis虽然它是一个单进程单线程模型,但是Redis确实高并发业务场景下的一把利器,目前Redis的QPS已经能达到10万甚至是100万级别了,这是绝对的高并发。

高可用:Redis高可用主要体现在主从复制、sentinel(哨兵模式)和Cluster(集群模式)三者 ​

1634183247927.jpg

这个我的理解大致是这样的面试官!!

Redis的单线程指的是执行命令操作使用单线程,Redis6.x发布之后使用多线程处理网络数据的读写和协议解析,Redis单线程这么快的原因主要有这些点:

  • 采用I/O多路复用非阻塞模型处理客户端socket连接,能够极大的优化Redis服务端响应速度和效率,多路 I/O 复用技术可以让单个线程高效的处理多个连接请求,尽量减少网络 IO 的时间消耗。

  • 基于内存存储,减少磁盘IO,读取速度快

  • Redis对内部数据结构做了极致的优化,使Redis的数据结构非常高效。并且在不同的数据量和存储内容采取不同的编码方式,这就涉及到了 Redis 底层的编码转换。比如list、hash、zset 三个键使用到了 ziplist 压缩列表编码,ziplist 是一种结构紧凑的数据结构,当某一键值中所包含的元素较少时,会优先存储在 ziplist 中,当元素个数超过某一值后,才将 ziplist 转化为标准存储结构,当然这一值是在redis.conf中可自定义配置。此外SDS的内存预分配、Hash结果Rehash中的渐进式hash、ZSet顺序基于SkipList存储,都优化了数

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值