有位工作了10年的粉丝跟我说,去面试一家中小型公司,被要求解释什么是Redis?后面,这位粉丝来问我,说这个面试官是不是内虚?至于是不是这个原因我不做评论,但是,养成总结的习惯还是有必要的。
今天,我来给大家分享一下我对Redis的理解,
1、什么是Redis?
Redis是一个高性能的基于Key-Value结构存储的NoSQL开源数据库。大部分公司采用Redis来实现分布式缓存,用来提高数据查询效率。
2、为什么选Redis
在Web应用发展的初期,系统的访问和并发并不高,交互也比较少。但随着业务的扩大,访问量的提升,使得服务器负载和关系型数据库出现瓶颈,而导致瓶颈的源头,主要体现在磁盘IO上。随着互联网的进一步发展,对系统性能有了更高的要求,Redis的出现,解决了很多问题。至于我们为什么要选择Redis,我总结为以下六个原因:
1)、基于内存存储,可以降低对关系型数据库的访问频次,从而缓解数据库压力
2)、数据IO操作能支持更高级别的QPS,官方发布的指标是10W;
3)、提供了比较多的数据存储结构,比如string、list、hash、set、zset等等。
4)、采用单线程实现IO操作,避免了并发情况下的线程安全问题。
5)、可以支持数据持久化,避免因服务器故障导致数据丢失的问题
6)、Redis还提供了更多高级功能,比如分布式锁、分布式队列、排行榜、查找附近的人等功能,为更复杂的需求提供了成熟的解决方案。
以上就是我对Redis的理解。