Redis设计原理 Remote Dictionary Server
为什么 Redis 在单线程下能如此快?
Redis为什么高性能,高可用(基于内存,reactor模型,io多路复用)钉钉 菜划算

redis是单线程的,避免了多线程的上下文切换和并发控制开销;
是基于内存的kv键值对数据库,设计采用io多路复用实现数据存取速度高效,高可用依赖主从复制加入哨兵监听主服务器,防止单点宕机
redis高可靠依赖redis的持久化操作
redis线程模型
制约Redis性能的因素都有哪些
io(redis单线程 执行时间不宜过长)
网络Redis 主从复制的性能问题,为了主从复制的速度和连接的稳定性,主从库
最好在同一个局域网内。
主服务器写内存快照,会阻塞主线程的工作,当快照比较大时对性能影响
是非常大的,会间断性暂停服务,因此主服务器最好不要写内存快照;

Redis持久化 涂鸦 滴滴 字节

Redis持久化方式?
Redis默认是用哪种持久化方式
RDB 和 AOF的区别或者优缺点?各自原理说一下,
项目中是使用的哪种方式?
如何解决aof恢复慢的问题
AOF文件比较大,恢复速度慢有什么方法解决
说一下AOF如何解决日志不断扩大的问题
redis在进行持久化时会不会影响客户端的请求?会不会导致内存增加?说一下原因。

Redis部署 涂鸦 菜划算 钉钉 网易 滴滴 字节

简述 Redis 的哨兵机制
Redis 如何实现高可用?
Redis 如何实现主从同步?
Redis 中,sentinel 和 cluster 的区别和适用场景是什么?
假设 Redis 的 master 节点宕机了,你会怎么进行数据恢复?
redis集群的方式都有哪些?
redis cluster集群是如何定位特定的key在哪个节点的
每个key通过CRC16校验后对16384取模来决定放置哪个槽
项目中使用的主从redis,如果主redis挂了怎么解决?还有哪些解决方案。redis集群的方案都有哪些?都有哪些区别
说一下redis主从同步的原理,如何解决主redis挂了的问题,说一下redis cluster,怎么配置的

  1. 主从复制 从节点连接主节点开始同步数据,发送同步命令 主节点根据从节点发送的信息判断是否全量同步数据,并将rdb文件信息发送给从节点,
    从节点接受完毕在期间存在内存缓存的信息也一并发送给从节点
  2. 哨兵模式 监听,提醒服务是否正常,重新选举新的主节点
  3. redis cluster

Redis分布式锁 字节 有赞 光云 涂鸦

说一下分布式锁的实现
说一下如何解决一个线程在获取到锁后,由于业务执行时间超过了锁的过期时间,导致另一个线程获取到锁的问题?
如何解决一个线程在获取到锁后,由于业务执行时间超过了锁的过期时间,导致另一个线程获取到锁的问题?还有其他的解决方案吗

  1. 获取锁的线程起线程,自动对于快过期的锁续期
  2. 使用redission,自动监听并延长锁

使用 redis 如何设计分布式锁?说一下实现思路?使用 zk 可以吗?如何实现?这两种有什么区别?

如何解决redis单点故障主从切换带来两个客户端同时持有锁的问题。
Redis加锁后,如果线程挂了,如何释放锁。如果整个进程挂掉了呢

RedLock算法

说一下RedLock,都有哪些特点,怎么实现可重入的
redis分布式怎么实现的?有没有实现可重入
要实现可重入锁,方法很简单,当加锁失败时判断锁的值是不是跟当前线程设置值相同
如何解决分布式锁超时问题

Redis 哨兵机制

redis常用数据结构 网易 有赞
redis数据结构,zset如何实现score排序的
redis都有哪些数据结构?除了最基本的5种还有哪些?底层是怎么实现的

redis内存淘汰策略,如果内存快满了如何解决,还有其他方法吗