Redis 那点破事 | 绝杀面试官 25 问!

本文汇总了Redis面试中常见的问题,包括Redis的主要特性,如高性能、数据持久化、事务支持和丰富的数据结构。还探讨了Redis为何如此快速的原因,如内存操作、单线程模型和高效的IO复用。此外,介绍了实现分布式锁的多种方法,如Lua脚本、SET扩展命令和Redlock框架。最后,提到了Redis在主从复制和高可用性方面的特性。
摘要由CSDN通过智能技术生成

5fcc8bbed444d17aa4a8f73b705943ec.png

若有收获,请记得分享和转发哦

为了便于大家查找问题,了解全貌,整理个目录,我们可以快速全局了解关于Redis 缓存,面试官一般喜欢问哪些问题?

接下来,我们逐条来看看每个问题及答案

Redis 有哪些特性?

答案:

  • 性能高, 读的速度是100000次/s,写的速度是80000次/s

  • 数据持久化,支持RDB 、AOF

  • 支持事务。通过MULTIEXEC指令包起来。

  • 多种数据结构类型

  • 主从复制

  • 其他特性:发布/订阅、通知、key过期等

Redis 为什么这么快?

答案:

  • 完全基于内存,没有磁盘IO上的开销,异步持久化除外

  • 单线程,避免多个线程切换的性能损耗

  • 非阻塞的IO多路复用机制

  • 底层的数据存储结构优化,使用原生的数据结构提升性能。

a6fdcc6c3d3b25ad030a652c4eff658a.png

180c51731b8e3375e1dea17cad24ee52.png

e34076e21d23cc44cf2a9f4cafa76a13.png

8a42670154b5f17db65e3ac353f3a2c2.png

4b0356d9459c50725bef5e3b2e6335e7.png

410891f3ba25c6aef8069a8b1ff7da3a.png

a910796f5db2e7168ac2be32a3e10b94.png

3f9de9c79145587c2fea8ad6ea934533.png

2236dc14a1dd209d0b7e8234dc6f46e1.png

982cc9bac2f9f54adbd05b1e6dde637b.png

4e1e6761ad046c311af5229261ff9a2e.png

  • 支持副本机制,有效的保证了高可用性。

如何实现一个分布式锁?

答案:

  • 1、数据库表,性能比较差

  • 2、使用Lua脚本 (包含 SETNX + EXPIRE 两条指令)

  • 3、SET的扩展命令(SET key value [EX][PX] [NX|XX])

  • 4、Redlock 框架

  • 5、Zookeeper Curator框架提供了现成的分布式锁

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值