1. 讲一下Redis底层的数据结构?ZSet用过吗?Zset 底层是怎么实现的?
2. 跳表是怎么实现的?跳表是怎么设置层高的?Redis为什么使用跳表而不是用B+树?压缩列表是怎么实现的?介绍一下 Redis 中的 listpack
3.哈希表是怎么扩容的?哈希表扩容的时候,有读请求怎么查?String 是使用什么存储的?为什么不用 c 语言中的字符串?
4. Redis为什么快?Redis哪些地方使用了多线程?Redis怎么实现的io多路复用?Redis的网络模型是怎样的?
5.如何实现redis 原子性?除了lua有没有什么也能保证redis的原子性?
6.Redis有哪2种持久化方式?分别的优缺点是什么?
7.过期删除策略和内存淘汰策略有什么区别? 介绍一下Redis 内存淘汰策略?介绍一下Redis过期删除策略? Redis的缓存失效会不会立即删除?那为什么不过期立即删除?
8.Redis主从同步中的增量和完全同步怎么实现?redis主从和集群可以保证数据一致性吗 ?哨兵机制原理是什么?哨兵机制的选主节点的算法介绍一下?Redis集群的模式了解吗 优缺点了解吗
9. 为什么使用redis? 为什么redis比mysql要快?本地缓存和Redis缓存的区别?
10.高并发场景,Redis单节点+MySQL单节点能有多大的并发量?redis应用场景是什么?Redis除了缓存,还有哪些应用?
11.Redis支持并发操作吗?Redis分布式锁的实现原理?什么场景下用到分布式锁?
12.Redis的大Key问题是什么?大Key问题的缺点? Redis大key如何解决?什么是热key?如何解决热key问题?
13.如何保证 redis 和 mysql 数据缓存一致性问题?缓存雪崩、击穿、穿透是什么?怎么解决?布隆过滤器原理介绍一下?如何设计秒杀场景处理高并发以及超卖现象?