美文网首页Spring-BootJava成长之路
万字长文|Redis面试全攻略,读完就可以和面试官大战几个回合了

万字长文|Redis面试全攻略,读完就可以和面试官大战几个回合了

作者: 路人甲java | 来源:发表于2020-04-10 20:43 被阅读0次

    前言

    image

    面对着金三银四,你是否已经准备充分,做好了迎接准备,你是否抓住机会找到了一份心仪的工作,如果三月份没有抓住机会没有关系,这次四月就要准备充足,不要再让机会在眼前溜走啦。

    说到面试,那就要好好准备下,不准备充分的面试,完全是浪费时间,更是对自己的不负责。那么面试的知识点是哪些呢?

    经过大多数粉丝面试过后的反馈,Java面试重点如下:

    数据结构与算法,JVM内存结构、垃圾回收器、回收算法、GC、并发编程相关(多线程、线程池等)、NIO/BIO、性能优化、设计模式、Spring框架:分布式相关:Redis、一致Hash算法、分布式存储、负载均衡等,微服务以及Docker容器等。在这由于文字很多,我总结了java面试所涉及到的常问范围及常问面试题免费分享给大家,文末有获取地址!

    image

    今天下面就列举的是Redis的相关面试问题,看看你是否能答出来。

    可以点击这,免费获取资料方式!

    架构师干货资料:设计模式+Redis+spring全家桶+学习思维脑图+Redis+MySQL+分布式+并发+微服务+性能调优​shimo.im

    图标

    Redis高级面试专题(附解析)

    1. 什么是 Redis?简述它的优缺点?
    2. Redis与memcached相比有哪些优势?
    3. Redis支持哪几种数据类型?
    4. Redis主要消耗什么物理资源?
    5. Redis有哪几种数据淘汰策略?
    6. Redis官方为什么不提供Windows版本?
    7. 一个字符串类型的值能存储最大容量是多少?
    8. 为什么Redis需要把所有数据放到内存中?
    9. Redis集群方案应该怎么做?都有哪些方案?
    10. Redis集群方案什么情况下会导致整个集群不可用?
    11. MySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据?
    12. Redis有哪些适合的场景?
    13. Redis支持的Java客户端都有哪些?官方推荐用哪个?
    14. Redis和Redisson有什么关系?
    15. Jedis与Redisson对比有什么优缺点?
    16. 说说Redis哈希槽的概念?
    17. Redis集群的主从复制模型是怎样的?
    18. Redis集群会有写操作丢失吗?为什么?
    19. Redis集群之间是如何复制的?
    20. Redis集群最大节点个数是多少?
    21. Redis集群如何选择数据库?
    22. Redis中的管道有什么用?
    23. 怎么理解Redis事务?
    24. Redis事务相关的命令有哪几个?
    25. Rediskey的过期时间和永久有效分别怎么设置?
    26. Redis如何做内存优化?
    27. Redis回收进程如何工作的?
    28. 加锁机制
    29. 锁互斥机制
    30. watchdog自动延期机制
    31. 可重入加锁机制
    32. 释放锁机制
    33. 上述Redis分布式锁的缺点
    34. 使用过Redis分布式锁么,它是怎么实现的?
    35. 使用过Redis做异步队列么,你是怎么用的?有什么缺点?
    36. 什么是缓存穿透?如何避免?什么是缓存雪崩?何如避免?
    image

    面试题答案

    1、什么是 Redis?简述它的优缺点?

    Redis的全称是:RemoteDictionary.Server,本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。

    因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过10万次读写操作,是已知性能最快的Key-ValueDB。

    Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个value的最大限制是1GB,不像memcached只能保存1MB的数据,因此Redis可以用来实现很多有用的功能。比方说用他的List来做FIFO双向链表,实现一个轻量级的高性能消息队列服务,用他的Set可以做高性能的tag系统等等。

    另外Redis也可以对存入的Key-Value设置expire时间,因此也可以被当作一个功能加强版的memcached来用。Redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。

    image

    2、Redis与memcached相比有哪些优势?

    • memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型
    • redis的速度比memcached快很多redis的速度比memcached快很多
    • redis可以持久化其数据redis可以持久化其数据

    3、Redis支持哪几种数据类型?

    String、List、Set、SortedSet、hashes

    image

    4、Redis主要消耗什么物理资源?

    内存。

    5、Redis有哪几种数据淘汰策略?

    1. noeviction:返回错误当内存限制达到,并且客户端尝试执行会让更多内存被使用的命令。
    2. allkeys-lru:尝试回收最少使用的键(LRU),使得新添加的数据有空间存放。
    3. volatile-lru:尝试回收最少使用的键(LRU),但仅限于在过期集合的键,使得新添加的数据有空间存放。
    4. allkeys-random:回收随机的键使得新添加的数据有空间存放。
    5. volatile-random:回收随机的键使得新添加的数据有空间存放,但仅限于在过期集合的键。
    6. volatile-ttl:回收在过期集合的键,并且优先回收存活时间(TTL)较短的键,使得新添加的数据有空间存放。

    由于篇幅限制,太长看下去会很乏味,也会影响阅读体验,下面展现将以图片形式展示。获取原文件以及更多资源请关注转发分享后点击这获取原文件领取地址。

    image image

    熟练掌握 Redis,甚至可以毫不夸张地说已经半只脚踏入心仪的公司了。对文章中学习脑图感兴趣的可以 关注 转发后,点击这获取资源地址。还有更多面试题整理中,可以一并获取。

    image image

    最后

    秉承乐于助人的雷锋精神,有需求即可来小编这里免费领取,关注一下分享方式:

    点击下面的链接进去获取免费领取下载方式!!!

    架构师干货资料:设计模式+Redis+spring全家桶+学习思维脑图+Redis+MySQL+分布式+并发+微服务+性能调优​shimo.im

    图标

    相关文章

      网友评论

        本文标题:万字长文|Redis面试全攻略,读完就可以和面试官大战几个回合了

        本文链接:https://www.haomeiwen.com/subject/ezodmhtx.html