### 1、为什么使用re
dis
**分析**:博主觉得在项目中使用re
dis,主要是从两个角度去考虑:**
性能**和**并发**。当然,re
dis还具备可以做分布式锁等其他
功能,但是如果只是为了分布式锁这些其他
功能,完全还有其他中间件(如zookpeer等)代替,并不是非要使用re
dis。因此,这个问题主要从
性能和并发两个角度去答。
**回答**:如下所示,分为两点
**(一)
性能**
如下图所示,我们在碰到需要执行耗时特别久,且结果不频繁变动的
sql,就特别适合将运行结果放入缓存。这样,后面的请求就去缓存中读取,使得请求能够**迅速响应**。

**题外话:**忽然想聊一下这个**迅速响应**的标准。其实根据交互
效果的不同,这个响应时间没有固定标准。不过曾经有人这么告诉我:"在理想状态下,我们的
页面跳转需要在**瞬间**
解决,对于页内操作则需要在**刹那**间
解决。另外,超过**一弹指**的耗时操作要有进度
提示,并且可以随时中止或取消,这样才能给
用户最好的体验。"
那么**瞬间、刹那、一弹指**具体是多少时间呢?
根据《摩诃僧祗律》记载
```
一刹那者为一念,二十念为一瞬,二十瞬为一弹指,二十弹指为一罗预,二十罗预为一须臾,一日一夜有三十须臾。
```
那么,经过周密的计算,一**瞬间**为0.36 秒,一**刹那**有 0.018 秒.一**弹指**长达 7.2 秒。
**(二)并发**
如下图所示,在大并发的情况下,所有的请求直接访问
数据库,
数据库会出现连接异常。这个时候,就需要使用re
dis做
一个缓冲操作,让请求先访问到re
dis,而不是直接访问
数据库。

### 2、使用re
dis有什么缺点
**分析**:大家用re
dis这么久,这个问题是必须要了解的,基本上使用re
dis都会碰到一些问题,常见的也就几个。
**回答**:主要是四个问题
(一)缓存和
数据库双写一致性问题
(二)缓存雪崩问题
(三)缓存击穿问题
(四)缓存的并发竞争问题
# 最后
关于面试刷题也是有
方法可言的,建议最好是按照专题来进行,然后由基础到高级,由浅入深来,
效果会更好。当然,这些
内容我也全部整理在一份pdf文档内,分成了以下几大专题:
* Java基础部分

* 算法与编程

*
数据库部分

* 流行的框架与新技术(Spring+SpringCloud+SpringClou
dalibaba)

这份面试文档当然不止这些
内容,实际上像JVM、设计模式、ZK、MQ、数据结构等其他部分的面试
内容均有涉及,因为
文章篇幅,就不全部
在这里阐述了。
**作为一名程序员,阶段性的学习是必不可少的,而且需要保持一定的持续性,这次
在这个阶段内,我对一些重点的知识点进行了系统的复习,一方面巩固了自己的基础,另一方面也提升了自己的知识广度和深度。**
最后提醒一下哦,如果你想要学习,却无奈于没有干货学习资料,以上所有的资料
内容都可以免费
分享给你,只需你多多
支持一下即可
**[“点赞
文章,关注我,然后戳戳戳戳这里
获取免费下载方式”](https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB)**
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。