《redis》1-概述

在基本的开发环境中,总会用到缓存中间件,redis使用的频率比其他的要高很多,所以在使用的同时,理解redis的特性,能够在以后的特定场景中,充分的利用到redis的性能优势。

其实在很多的面试中,也会问到redis的特性,比如redis的线程模型,比如redis的集群模式,比如redis的数据结构。而且redis在设计上有很多优秀的特点,在高性能,高可用,高扩展上都能给我们一些启发。所以我在geektime上订阅了蒋德钧老师的redis课程,希望在学习的过程中不断总结,加深理解。

大家都知道redis高性能,高可用,高扩展。但是redis是如何做到三高的呢?redis是一个优秀的内存数据存储系统。整个系统在方方面面设计上,都为了三高服务。那这个内存存储系统的整体是怎么设计的呢,

按照这“三高”,redis进行了一系列的优化

针对三高,redis从设计上就开始有了考量

高性能方面

  1. 单线程模型,单线程模型可以减少多线程的并发开销
  2. 数据结构,利用hash表和跳表等数据结构存储的数据,查找速度更快
  3. 连接器多路复用,是典型的io基数,能够同时处理更多请求

高可用

  1. 主从复制,但我们有个多个机器组成的redis集群,当redis有服务掉线,还有相同数据的备份。
  2. 哨兵机制,未知

高扩展型

  1. 数据分片,未知
  2. 负载均衡,未知

上面是redis实现三高的设计基础。redis使用中会遇到各种各样的问题,

在存储应用层面,会出现延迟,抖动

在可靠性方面,可能会出现主从不一致等问题

在扩展性方面,可能会出现别的问题,在使用的过程中,都可以在三高这几个方面查找原因,下面的课程就随着蒋德钧老师的课程不断学习,

课程地址:https://time.geekbang.org/column/article/268247

猜你喜欢

转载自blog.csdn.net/David_lou/article/details/108993087