• redis
    Redis,  技术,  服务组件

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

    Redis可以说是目前而言,应用最为广泛的一种nosql数据库,其广受欢迎必然有着其独有的优势。 优势一:速度快 redis为什么速度快呢? 最主要的原因就是redis是基于内存的。 Redis将所有的数据都放在内存中进行操作,纯内存访问,没有磁盘的I/O读取,自然就非常的快了。 其次,redis是单线程的。 采用异步非阻塞的多路 I/O 复用,让单个线程高效的处理多个连接请求,减少了网络 IO 的时间消耗,且不存在多线程中线程切换竞争等问题造成的性能损耗。(注意:单线程仅仅指的是网络请求这一模块上用的单线程,整个redis的服务并不是单线程的) 另外还有就是用最贴近操作系统的C语言编写 以及优秀的数据结构和算法等也为速度做出了一定的贡献。 当然,最主要的原因还是基于内存这一点,其提升的速度跟其他因素相比不是一个量级的。 优势二:丰富的数据类型 redis提供了五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。 丰富的数据类型不仅能够满足大部分的业务场景需求,同时也极大的提高了业务开发的效率。 同时redis还提供了 Bitmaps(位图),HyperLogLog(去重计数),GEO(地理信息定位),Bloom Filter(布隆过滤器),PubSub(发布/订阅),Pipeline (管道),事务,Lua脚本支持等多项高级功能,能够完美的支持一些特定的应用场景。 优势三:高可用和分布式 redis的集群功能是它真正的分布式实现,能够保证Redis节点的鼓掌发现和自动转移,提供了高可用、读写和容量的扩展性,使其能够适应当今主流的分布式业务部署方案。 正因为有着以上的种种优势,redis才会在目前各大互联网公司广受欢迎,同时也是我们所必须掌握的技术之一。