
使用不存在的id发送请求 不直接访问redis而是直接访问mysql

解决方案:
优点:简单 缺点:消耗内存,可能发生不一致的问题

优点:内存占用较小,没有多余的key 缺点:实现较为复杂,存在误判
创建一个bitmap 初始全为空 预热布隆过滤器对传入id进行多次hash计算 由计算结果bitmap的对应位置该为1 如果传入idhash计算后在bitmap中不全为1就拦截



解决方案:

强一致 性能差


高可用 性能优



解决方案



强一致

读写锁

延时双删

总结


执行原理


RDB和AOF对比


设置该key过期后,我们不去管他,当需要该key时我们再检查其是否过期,如果过期,我们就删除它,反之则返回key。

每隔一段时间我们就对一些key进行检查,删除里面过期的key




数据淘汰策略推荐

其他问题



给锁续期
执行流程


同一线程中可重入
主从一致性
当主节点redis在获取锁时宕机会导致其他进程也获取锁成功

红锁

面试话术



主从复制
哨兵模式
分片集群
全量同步:

增量同步:

面试话术


哨兵作用: 监控 自动故障恢复 通知

服务状态监控

脑裂问题

面试话术



数据读写

面试话术


reids是纯内存操作,执行速度非常快
采用单线程,避免不必要的上下文切换可竞争条件,多线程还要考虑线程安全问题
使用i/o多路复用模型,非阻塞io




本文作者:钱小杰
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!