Redis浮生系列:为什么要使用Redis

Redis可以说是目前而言,应用最为广泛的一种nosql数据库,其广受欢迎必然有着其独有的优势。

优势一:速度快

redis为什么速度快呢?

最主要的原因就是redis是基于内存的。

Redis将所有的数据都放在内存中进行操作,纯内存访问,没有磁盘的I/O读取,自然就非常的快了。

redis内存读取

其次,redis是单线程的。

采用异步非阻塞的多路 I/O 复用,让单个线程高效的处理多个连接请求,减少了网络 IO 的时间消耗,且不存在多线程中线程切换竞争等问题造成的性能损耗。(注意:单线程仅仅指的是网络请求这一模块上用的单线程,整个redis的服务并不是单线程的)

另外还有就是用最贴近操作系统的C语言编写

以及优秀的数据结构和算法等也为速度做出了一定的贡献。

当然,最主要的原因还是基于内存这一点,其提升的速度跟其他因素相比不是一个量级的。

优势二:丰富的数据类型

redis提供了五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

redis数据类型

丰富的数据类型不仅能够满足大部分的业务场景需求,同时也极大的提高了业务开发的效率。

同时redis还提供了 Bitmaps(位图)HyperLogLog(去重计数)GEO(地理信息定位)Bloom Filter(布隆过滤器)PubSub(发布/订阅),Pipeline (管道)事务Lua脚本支持等多项高级功能,能够完美的支持一些特定的应用场景。

优势三:高可用和分布式

redis的集群功能是它真正的分布式实现,能够保证Redis节点的鼓掌发现和自动转移,提供了高可用、读写和容量的扩展性,使其能够适应当今主流的分布式业务部署方案。

正因为有着以上的种种优势,redis才会在目前各大互联网公司广受欢迎,同时也是我们所必须掌握的技术之一。

0 评论
最新
最旧 最多投票
内联反馈
查看所有评论
滚动至顶部