阿里Java二面遇“Redis”败北,苦心学习师哥网盘里的Redis笔记,秋招再战

Posted java路人甲乙丙丁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里Java二面遇“Redis”败北,苦心学习师哥网盘里的Redis笔记,秋招再战相关的知识,希望对你有一定的参考价值。

我们面试的时候 ,经常会被问这种到问题:Redis 常用的业务场景有哪些? 什么是缓存穿透?怎么解决?什么是缓存雪崩? 怎么解决?等等 在找工作的过程中,对于 Redis 技术知识的掌握已经成为必须的技能。Redis相关的问题一直是大厂面试常问到的一个问题,一直是很多面试者的拦路虎,不知道从哪里下手,今天举例分析大厂的一些Redis相关的面试真题。和分享我学习Redis相关问题所整理的一些知识点。

阿里面试Redis相关问题(以整理解析)

1.什么是 Redis 事务?原理是什么?

Redis 中的事务是一组命令的集合,是 Redis 的最小执行单位,一个事务要么都执行,要么都不执行。 Reids 事务保证一个事务内的命令依次执行,而不会被其他命令插入。 Redis 事务的原理是先将属于一个事务的命令发送给 Redis,然后依次执行这些命令。

2. Redis 常用的命令有哪些?

阿里Java二面遇“Redis”败北,苦心学习这些Redis笔记,明年再战

3.什么是缓存穿透?怎么解决?

透是指缓存中查询一个不存在的数据,需要去数据库中获取。 如果数据库也查不到结果,将不会同步到缓存,导致这个不存在数据每次请求都要到数据库查询,失去了缓存的意义。 解决方法有两个: 1. 布隆过滤(Bloom filter) 将所有查询的参数都存储到一个 bitmap 中,在查询缓存之前,先再找个 bitmap 里面进行验证。 如果 bitmap 中存在,则进行底层缓存的数据查询; 如果 bitmap 中不存在查询参数,则进行拦截,不再进行缓存的数据查询。 适用范围:可以用来实现数据字典,进行数据的判重,或者集合求交集 2. 缓存空对象 如果查询返回的数据为空,仍然把这个空结果进行缓存。那么再次用相同 key 获取数据的时候,即使不存在的数据,缓存也可以直接返回空值,避免重复访问 DB。 缓存空对象有两个不足之处: 缓存层将存储更多的键值对,如果是恶意的随机访问,将造成很多内存空间的浪费。这个不足之处可以通过将这类数据设置很短的过期时间来控制。 DB 与缓存数据不一致。这种可以考虑通过异步消息来进行数据更新的通知,在一定程度上减少这类不一致的时间。

4.怎么去发现 Redis 阻塞异常情况?

1. 通过应用服务监控发现 当 Redis 阻塞的时候,线上应用服务应该会感知发现。比如说发现 Redis 链接超时等。这种就需要应用服务增加对于异常的统计,并针对 Redis 相关的异常,进行报警。 2. 通过 Redis 自身监控系统 借助 Redis 监控系统发现阻塞问题,当监控系统发现各个监控指标存在异常的时候,发送报警。 指标有:CPU/内存/磁盘等, 慢查询,命令耗时增加等。

5.Redis 持久化机制 AOF 和 RDB 有哪些不同之处?

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

阿里Java二面遇“Redis”败北,苦心学习这些Redis笔记,明年再战

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

阿里Java二面遇“Redis”败北,苦心学习这些Redis笔记,明年再战

为什么 Redis 需要把所有数据放到内存中?

  • Redis 是单线程的吗?
  • Redis 为什么设计成单线程的?
  • 什么是缓存雪崩? 怎么解决?
  • 缓存的更新策略有几种?分别有什么注意事项?
  • 请介绍几个可能导致 Redis 阻塞的原因
  • Redis 集群架构模式有哪几种?
  • Redis 集群最大节点个数是多少?
  • Redis 集群的主从复制模型是怎样的?
  • 请介绍一下 Redis 集群实现方案
  • Redis 集群会有写操作丢失吗?为什么?
  • Redis 慢查询是什么?通过什么配置?

只是展示的一部分Redis相关的面试题集,一部分解析,更多的Redis面试整理解析可以看整理的《redis深度笔记:核心原理和应用实践》,有需要的朋友文末有领取方式!

我的Redis学习笔记

对于Redis盲目的学很浪费时间还犯愁,这里有整理一份Redis学习路线图(有Xmind源文件笔记)里面有每个知识点的笔记整理!今天通过我整理的Redis学习路线.xmind给大家分析Redis需要掌握的一些核心知识点。

需要整个Redis学习导图和核心知识点的朋友文末有获取方式!

阿里Java二面遇“Redis”败北,苦心学习这些Redis笔记,明年再战

数据结构

  • 五种数据结构类型
  • HyperLogLog
  • redis命令大全

阿里Java二面遇“Redis”败北,苦心学习这些Redis笔记,明年再战

Redis的过期策略和内存淘汰策略

阿里Java二面遇“Redis”败北,苦心学习这些Redis笔记,明年再战

Redis集群(Redis cluster)

  • 为什么使用集群
  • 数据分布
  • Redis Cluster基本概念

阿里Java二面遇“Redis”败北,苦心学习这些Redis笔记,明年再战

主从复制

  • 实现主从复制的两种方式
  • 复制过程
  • 数据同步
  • 主从节点心跳链接
  • 缺点

阿里Java二面遇“Redis”败北,苦心学习这些Redis笔记,明年再战

Redis持久化

  • RDB(Redis DataBase )
  • AOF(Append Only File)
  • 如何选择持久化方案
  • fork阻塞:CPU的阻塞
  • AOF追加阻塞:硬盘的阻塞

阿里Java二面遇“Redis”败北,苦心学习这些Redis笔记,明年再战

Redis的学习笔记及学习视频

阿里Java二面遇“Redis”败北,苦心学习这些Redis笔记,明年再战

阿里Java二面遇“Redis”败北,苦心学习这些Redis笔记,明年再战

由于内容实在太多,无法全部展示,需要的朋友们注意啦:一键三连(点赞+收藏+关注)

以上是关于阿里Java二面遇“Redis”败北,苦心学习师哥网盘里的Redis笔记,秋招再战的主要内容,如果未能解决你的问题,请参考以下文章

阿里Java岗二面:Redis了解?说说持久化机制及RDB/AOF应用场景分析

阿里二面:Redis 中的 AOF 文件太大了怎么办?

阿里二面:Redis 中的 AOF 文件太大了怎么办?

阿里二面,面试官拿这个中间件问了我半个小时,我懵逼了……

阿里二面,面试官拿这个中间件问了我半个小时,我懵逼了……

阿里二面:聊聊Redis主从架构