作为主流NoSql数据库的Redis还不会?收藏30W+Redis学习笔记帮你一套拿下!

为什么要用Redis

因为随着互联网的发展,传统的关系型数据库,例如Mysql,已经不能适用所有的业务场景,比如秒杀的库存扣减,重点页面的访问流量高峰等这种大流量请求都很容易把数据库打崩,所以引入了缓存中间件,通过内存缓存,加快请求响应速度,降低数据库的压力,常见的有Redis和Memcache,由于Redis具有更丰富的数据类型和功能,最终选择Redis

为什么Redis比关系型数据库快

完全基于内存,绝大部分请求是纯粹的内存操作,数据在内存中以类似HashMap的方式存储,HashMap的优点就是查找和操作的时间复杂度都是O(1),官方数据是可以达到100000+QPS(不过同时要考虑网卡带宽问题,假设KEY平均1KB大小,10万QPS每秒流量大约100M/s,通常一个千兆网卡支持1000M/8 = 125M/s的流量)
数据结构简单,对数据操作也简单,Redis中的数据结构是专门进行设计的
采用单线程,避免了不必要的上下文切换和竞争条件,也不考虑锁的问题,自然也不会出现可能出现死锁导致的性能损耗
采用多路I/O复用模型,非阻塞I/O
它们之间底层实现方式以及与客户端之间通信的应用协议不一样,Redis直接自己构建了VM机制,因为一般的系统调用系统函数,会浪费一定的时间去移动和请求

Redis作为目前的主流NoSql数据库,不会是不可能的,在面试中也是非常高频的,一定不能在这个环节丢分,不管是学习,还是面试,以下知识点,都有必要掌握。

  1. 分布式锁
  2. 延迟队列
  3. 布隆过滤器
  4. 线程IO模型
  5. Redis事务
  6. Stream
  7. Redis管道

高频大厂Redis面试题(附答案解析)

Redis是什么?

Redis特性?

Redis合适的应用场景?

除了Redis你还知道哪些NoSQL数据库?

Redis和Memcache区别?

Redis的有几种数据类型?

Redis有哪些高级功能?

安装过Redis吗,简单说下步骤?

redis几个比较主要的可执行文件?分别是?

启动Redis的几种方式?

Redis客户端命令执行的方式?

如何停止redis服务?

如何查看当前键是否存在?

如何删除数据?

Redis为什么快?单线程?

字符串最大不能超过多少?

Redis默认分多少个数据库?

redis持久化的几种方式?

RDB持久化?

RDB的持久化是如何触发的?

RDB的优点?

RDB的缺点?

如何禁用持久化?

AOF持久化?

如何查询AOF是否开启?

如何开启AOF?

AOF工作流程?

为什么AOF要先把命令追加到缓存区(aof_buf)中?

AOF持久化如何触发的?

AOF优点?

AOF缺点?

混合持久化?优缺点?

Redis的Java客户端官方推荐?实际选择?

Redis事务?

Redis事务开始到结束的几个阶段?

Redis中key的过期操作?

Redis过期键删除策略?

Pipeline是什么?为什么要它?

如何获取当前最大内存?如何动态设置?

Redis内存溢出控制?

Redis内存溢出策略?

Redis高可用方案?

Redis集群方案?

Redis Cluster槽范围?

Redis锁实现思路?

什么是布隆过滤器?

什么是缓存穿透?处理问题?

什么是缓存预热?

答案解析

复习文档

分布式锁

延迟队列

布隆过滤器

线程 IO 模型

Redis事务

Stream

Redis管道

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值