Redis常见面试题


总结了目前主流平台中常见的面试题,标⭐为重点!
更多干货请点击 Locus-轨迹

在这里插入图片描述


RDB和AOF机制

RDB: Redis DataBase

在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork—个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。

优点:

  1. 整个Redis数据库特只包含—个文件dump.rdb方便持久化。
  2. 容灾性好,方便备份。
  3. 性能最大化,fork子进程来完成写操作,让主进程继续处理命令,所以是 IO最大化。使用单独子进程来进行持久化,主进程不会进行任何IO操作,保证了redis 的高性能
  4. 数据集大时,比AOF的启动效率更高

缺点:

  1. 数据安全性低。RDB是间隔一段时间进行持久化,如果持久化之间redis 发生故障,会发生数据丢失。所以这种方式更适合数据要求不严谨的时候
  2. 由于RDB是通过fork子进程来协助完成数据持久化工作的,因此,如果当数据集较大时,可能会导致整个服务器停止服务几百亳秒,甚至是1秒钟。

AOF: Append Only File

日志的形式记录服务器所处理的每一个写、删除操作,查询操作不会记录,以文本的方式记录,可以打开文件看到详细的操作记录

优点:

  1. 数据安全,Redis中提供了3种同步策略,即每秒同步每修改同步不同步。事实上,每秒同步也是异步完成的,其效率也是非常高的,所差的是一旦系统出现宕机现象,那么这一秒钟之内修改的数据将会丢失。而每修改同步,我们可以将其视为同步持久化,即每次发生的数据变化都会被立即记录到磁盘中。
  2. 通过append模式写文件,即使中途服务器宕机也不会破坏已经存在的内容,可以通过redis-check-aof工具解决数据—致性问题。
  3. AOF机制的rewrite模式定期对AOF文件进行重写,以达到压缩的目的

缺点:

  1. AOF文件比RDB文件大,且恢复速度慢
  2. 数据集大的时候,比rdb启动效率低。
  3. 运行效率没有RDB高

对比:

在这里插入图片描述


Redis的过期键的删除策略

在这里插入图片描述


Redis线程模型,单线程为什么这么快

Redis基于Reactor模式开发了网络事件处理器,这个处理器叫做文件事件处理器file event handler。这个文件事件处理器,它是单线程的,所以Redis 才叫做单线程的模型,它采用IO多路复用机制来同时监听多个Socket,根据Socket上的事件类型来选择对应的事件处理器来处理这个事件。可以实现高性能的网络通信模型,又可以跟内部其他单线程的模块进行对接,保证了Redis内部的线程模型的简单性。
文件事件处理器的结构包含4个部分:多个socket,IO多路复用程序、文件事件分派器以及事件处理器(命令请求处理器、命令回复处理器、连接应答处理器等)。
多个Socket 可能并发的产生不同的操作,每个操作对应不同的文件事件,但是IO多路复用程序会监听多个Socket,会将Socket放入一个队列中排队,每次从队列中取出一个Socket给事件分派器,事件分派器把 Socket给对应的事件处理器。
然后一个Socket的事件处理完之后,IO多路复用程序才会将队列中的下一个Socket给事件分派器。文件事件分派器会根据每个Socket当前产生的事件,来选择对应的事件处理器来处理。

单线程快的原因:

  1. 纯内存操作
  2. 核心是基子非阻塞的IO多路复用机制
  3. 单线程反而避免了多线程的频繁上下文切换带来的性能问题

缓存雪崩、缓存穿透、缓存击穿

  1. 缓存雪崩

在这里插入图片描述

  1. 缓存穿透

在这里插入图片描述

  1. 缓存击穿

在这里插入图片描述


⭐简述Redis事务实现

CAS :check and set

在这里插入图片描述
如果遇到执行过程中的错误会全部执行完,不会立刻返回错误信息给客户端
在这里插入图片描述在这里插入图片描述


⭐Redis集群方案

在这里插入图片描述在这里插入图片描述在这里插入图片描述


Redis主从复制的核心原理

在这里插入图片描述在这里插入图片描述

记 住 这 张 图
在这里插入图片描述


CAP理论以及BASE理论

CAP是分布式的理论基础

一致性:Consistency 可用性:Availability 分区容错性:Partition Tolerance

在这里插入图片描述在这里插入图片描述


负载均衡算法、类型

在这里插入图片描述在这里插入图片描述在这里插入图片描述


分布式架构下,session共享有什么方案

在这里插入图片描述


⭐更多干货请点击 Locus-轨迹

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值