“谈谈你对Redis的了解”!
面试的时候遇到这类比拟宽泛的问题,是不是很抓狂?
是不是不晓得从何开始说起?
没关系,明天我用3分钟教你怎么答复。
大家好,我是Mic,一个工作了14年的Java程序员。
这个问题面试官考查的目标是什么?心愿失去什么样的答复?
考查指标
对于某某技术的了解这一类问题,它是一种比拟宽泛的问题
在面试过程中,考查这类问题有两个很重要的目标:
- 在面试的过程中,面试官心愿求职者能多说一些货色,从而更好的对你的整体状况和能力有一个清晰的判断,因而这类问题,能够找到一些理解你的突破口。
- 这种问题其实没有标准答案,更多的是基于你对它的了解的一个总结这反而可能更好的考查你的技术积攒和逻辑表达能力。
所以,求职者在答复的过程中,须要尽可能逻辑清晰,简单明了的表述进去。
否则很难失去认可。
问题解析
对于Redis是什么,想必大部分人都能脱口而出。
它是一个分布式缓存中间件?可这样答复有问题吗?当然有
精确来说,Redis是一个基于内存实现的Key-Value数据结构的Nosql数据库。
留神,这里有三个关键点。
- 内存存储
- key-value构造
- Nosql
所谓内存存储,是指所有数据是存储在内存外面,数据的IO性能比拟高。
当然,Redis也提供了长久化策略来防止内存数据失落的问题key-value构造示意数据的存储形式,除了redis以外,还有像LevelDB、Scalaris等。
而Nosql,它指的是一种非关系型数据库,相比于传统的关系型数据库而言。
更多的思考到扩展性、性能、大数据量的存储等,补救了关系型数据库的短板像列式存储ClickHouse、Cassandra; 文档存储MongoDB图形存储Neo4J等都是属于Nosql领域。
高手:
Redis是一个基于Key-Value存储构造的Nosql开源内存数据库。
它提供了5种罕用的数据类型,String、Map、Set、ZSet、List。
针对不同的构造,能够解决不同场景的问题。
因而它能够笼罩利用开发中大部分的业务场景,比方top10问题、好友关注列表、热点话题等。
其次,因为Redis是基于内存存储,并且在数据结构上做了大量的优化所以IO性能比拟好,在理论开发中,会把它作为利用与数据库之间的一个分布式缓存组件。
并且它又是一个非关系型数据的存储,不存在表之间的关联查问问题,所以它能够很好的晋升应用程序的数据IO效率。
最初,作为企业级开发来说,它又提供了主从复制+哨兵、以及集群形式实现高可用在Redis集群外面,通过hash槽的形式实现了数据分片,进一步晋升了性能。
如果你喜爱我的作品,记得点赞珍藏加关注!!!
须要Java面试材料、简历模板扫下方!
版权申明:本博客所有文章除特地申明外,均采纳 CC BY-NC-SA 4.0 许可协定。转载请注明来自Mic带你学架构
!
如果本篇文章对您有帮忙,还请帮忙点个关注和赞,您的保持是我一直创作的能源。欢送关注同名微信公众号获取更多技术干货!