深度学习面试八股文之Redis篇,2024年最新挑战华为社招

本文介绍了Redis的淘汰策略,如LRU、LFU和TTL策略,以及解决热key问题的方法,如分散到不同服务器、设置永不过期。还探讨了缓存击穿、穿透、雪崩现象及其解决方案,如布隆过滤器、互斥锁和双层缓存。此外,详述了Redis的部署方式,包括单机、哨兵、集群和主从复制模式,以及哨兵和集群的故障恢复机制。最后,讨论了主从同步原理及无硬盘复制的概念。
摘要由CSDN通过智能技术生成
  • 1.noeviction:直接返回错误,不淘汰任何已经存在的redis键

  • 2.allkeys-lru:所有的键使用lru算法进行淘汰

  • 3.volatile-lru:有过期时间的使用lru算法进行淘汰

  • 4.allkeys-random:随机删除redis键

  • 5.volatile-random:随机删除有过期时间的redis键

  • 6.volatile-ttl:删除快过期的redis键

  • 7.volatile-lfu:根据lfu算法从有过期时间的键删除

  • 8.allkeys-lfu:根据lfu算法从所有键删除

8.Redis 的热 key 问题怎么解决?


热 key 就是说,在某一时刻,有非常多的请求访问某个 key,流量过大,导致该 redi 服务器宕机

解决方案:

  • 可以将结果缓存到本地内存中

  • 将热 key 分散到不同的服务器中

  • 设置永不过期

9.缓存击穿、缓存穿透、缓存雪崩是什么?怎么解决呢?


缓存穿透:

  • 缓存穿透是指用户请求的数据在缓存中不存在并且在数据库中也不存在,导致用户每次请求该数据都要去数据库中查询一遍,然后返回空。

解决方案:

  • 布隆过滤器

  • 返回空对象

缓存击穿:

  • 缓存击穿,是指一个 key 非常热点,在不停的扛着大并发,大并发集中对这一个点进行访问,当这个 key 在失效的瞬间,持续的大并发就穿破缓存,直接请求数据库,就像在一个屏障上凿开了一个洞。

解决方案:

  • 互斥锁

  • 永不过期

缓存雪崩:

    • 4
      点赞
    • 4
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值