一、基础
1、简单介绍下Redis
2、你认为Redis有哪些优缺点?
3、说说Redis的几种数据类型
4、为什么要用Redis而不是guava/静态全局map?
5、列举几个Redis应用场景
6、Redis和memcached的区别?
7、Redis线程模型知道吗?
8、Redis一次客户端与redis的完整通信过程
8.1、建立连接
8.2、执行一个set请求
二、持久化
1、什么是持久化?Redis为什么需要持久化?
2、Redis有哪几种持久化方式?优缺点是什么?
3、两种持久化方式如何做选择?
4、RDB持久化的原理是怎样的?
4.1、什么是fork?
4.1.1、Redis中的fork()
4.2、什么是copyonwrite?
4.2.1、一句话总结copyonwrite
4.3、为什么要用copyonwrite?
5、AOF持久化的原理是怎样的?
5.1、AOF有哪几种刷盘策略?
5.2、AOF刷盘之前是如何存储的?
6、RDB和AOF哪个快?
7、能同时存在几个fork?为什么?
8、RDB和AOF的文件格式有什么区别?
9、聊聊AOF的rewrite机制?
9.1、为什么要rewrite?
9.2、rewrite后的数据长什么样?
9.3、什么时候会触发rewrite?
9.4、rewrite原理
10、聊聊Redis的混合持久化方式?
10.1、优点
10.2、缺点
10.3、总结
10.4、数据恢复
11、如何手动进行rdb持久化?
三、过期淘汰策略
1、Redis的过期key删除策略有哪些?也是expire原理
2、Redis淘汰策略有哪些?
四、事务
1、Redis的事务概念
2、Redis事务的相关命令
3、Redis事务支持隔离性吗?
4、Redis事务保证原子性吗,支持回滚吗?
5、Redis事务的其他实现方式
6、Redis事务的原理
7、Pipeline和事务的区别
五、主从集群
1、Redis如何实现高可用?
2、主从复制有哪几种常见的方式?
3、主从复制的完整过程
4、主从复制核心原理
4.1、追问:怎么判断Slave和Master是不是第一次链接的?