为什么要使用Redis? —— Redis实战经验

  

  (序言,从一张思维导图开始,慢慢介绍我自己关于Redis的实战经验)

  现在很多互联网应用的服务端都使用到了Redis,到底大家为什么要用Redis呢?Redis有很多特性,比如高性能、高可用、数据类型丰富、易于扩展、可持久化、原子性等等,我觉得其中的“高性能”和“数据类型丰富”是最具决定性的,分析思路如下。

  1. 性能

  关系型数据库的数据存储在硬盘,在高并发环境下I/O较高,并发能力弱,Redis的数据存储在内存,性能远高于关系型数据库。关系型数据库的性能受硬件、SQL质量、数据量等方面的影响较大,不能一概而论,但一般认为不超过1万次/秒,而Redis的读的速度可达11万次/秒,写的速度可达8万次/秒

  另一方面,随着数据量的增大,关系型数据库的查询速度会显著降低,而Redis则不会。

  2. 数据类型丰富

  如果只是因为关系型数据库的性能问题,那么其它缓存(比如Memcache)也能减少数据库的查询次数,为什么是Redis?因为Redis支持字符串(string)、哈希(hash)、列表(list)、无序集合(set)、有序集合(sorted set)多种数据类型,这些数据类型能在实战中能发挥出强大的作用,在后续的系列文章中我会一一介绍各种数据类型的应用场景。

  当然,高可用、易于扩展、可持久化、原子性等特点也是很重要的特性,深入理解有助于实战应用。

 

  加入“为什么要使用Redis?”后的思维导图。

  

  

posted @ 2019-03-25 21:53  胖子哲  阅读(2655)  评论(0编辑  收藏  举报