说实话,这一套东西基本构成了缓存这块你必须知道的基础性的知识,如果你不知道,那么说明你有点失职,确实平时没好好积累。因为这些问题确实不难,如果我往深了问,可以问的很细,结合项目扣的很细,比如你们公司线上系统高峰QPS 3000?那请求主要访问哪些接口?redis抗了多少请求?mysql抗了多少请求?你到底是怎么实现高并发的?咱们聊聊redis的内核吧,看看你对底层了解的多么?如果要缓存几百GB的数据会有什么坑该这么弄?如果缓存出现热点现象该这么处理?某个value特别大把网卡给打死了怎么办?等等等等,可以深挖的东西其实有很多。。。。。但是如果你掌握好了这套东西的回答,那么你在面试的时候,如果面试官没有全都问到,你可以自己主动合盘脱出。比如你可以说,我们线上的缓存,做了啥啥机制,防止雪崩、防止穿透、保证双写时的数据一致性、保证并发竞争时的数据一致性,我们线上咋部署的,啥架构,怎么玩儿的。这套东西你可以自己说出来,展示一下你对缓存这块的掌握。
1 为什么要用Redis缓存?
项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果?这个问题,互联网公司必问,要是一个人连缓存都不太清楚,那确实比较尴尬。只要问到缓存,上来第一个问题,肯定是先问问你项目哪里用了缓存?为啥要用?不用行不行?如果用了以后可能会有什么不良的后果?这就是看看你对缓存这个东西背后有没有思考,如果你就是傻乎乎的瞎用,没法给面试官一个合理的解答,那面试官对你印象肯定不太好,觉得你平时思考太少,就知道干活儿。公司可