缓存-Redis

文章目录

  • Redis 简介
  • 为什么要用 Redis
  • Redis 特征
  • Redis Cluster 架构

Redis 简介

  Redis 是一个开源(BSD 许可)的、内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。

为什么要用 Redis

  在高并发场景下,如果需要经常连接结果变动频繁的数据库,会导致数据库读取及存取的速度变慢,数据库压力极大。

  因此我们需要通过缓存来减少数据库的压力,使得大量的访问进来能够命中缓存,只有少量的需要到数据库层。由于缓存基于内存,可支持的并发量远远大于基于硬盘的数据库。所以对于高并发设计,缓存的设计是必不可少的一环。

  而 Redis 作为比较热门的内存存储系统之一,由于其对数据持久化的支持,种类丰富的数据 结构,使其定位更倾向于内存数据库,适用于对读写效率要求都很高、数据处理业务复杂和 对安全性要求较高的系统。
缓存-Redis_第1张图片

Redis 特征

  1. 单线程,利用 redis 队列技术将访问变为串行访问,消除了传统数据库串行控制的开销。Redis 的线程模型:
缓存-Redis_第2张图片
  2. Redis 支持数据的持久化,包括 RDB 的全量持久化,或者 AOF 的增量持久化,从而使得 Redis 挂了,数据是有机会恢复的。也可以将内存中的数据保持在磁盘中,重启的时候可以再 次加载进行使用。
  3. 分布式架构,读写分离。
  4. 支持的数据结构丰富。Redis 不仅仅支持简单的 key-value 类型的数据,同时还提供 list、 set、zset、hash 等数据结构的存储。
  5. Redis 支持数据的备份,提供成熟的主备同步,故障切换的功能,从而保证了高可用。

Redis Cluster 架构

  Redis 搭建方式有很多种,本章主要介绍 Redis Cluster 集群构建方式:

缓存-Redis_第3张图片
  Redis 3.0 之后版本支持 Redis Cluster 集群,Redis Cluster 采用无中心结构,每个节点保存数据 和整个集群状态,每个节点都和其他所有节点连接。

  Redis Cluster 为了保证数据的高可用性,加入了主从模式,一个主节点对应一个或多个从节 点,主节点提供数据存取,从节点则是从主节点拉取数据备份,当这个主节点挂掉后,就会 有这个从节点选取一个来充当主节点,从而保证集群不会挂掉。主从结构,一是为了纯粹的 冗余备份,二是为了提升读性能,比如很消耗性能的 SORT 就可以由从服务器来承担。

  Redis 的主从同步是异步进行的,这意味着主从同步不会影响主逻辑,也不会降低 redis 的处 理性能。

  主从架构中,可以考虑关闭主服务器的数据持久化功能,只让从服务器进行持久化,这样可 以提高主服务器的处理性能。在主从架构中,从服务器通常被设置为只读模式,这样可以避 免从服务器的数据被误修改。

你可能感兴趣的:(☆Ops)