天天看点

第7章 分布式系统架构 【Redis分布式缓存概述】

11、Redis分布式缓存概述

答:

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

Redis除了以K-V形式进行存储处外,还可以有Map(将记录以Map的形式存储,每个字段都是一个k-v)、List(将数据串联起来形成链表,常常用来制作队列)、Set(数据集合)、与ZSet(有序集合,即对某个字段进行排序)。

Redis的部署有两种方式:一主多从和集群部署。

(1)一主多从就是在系统中部署一个主Redis与多个从Redis,并在它们之间建立“哨兵机制”。平时主要是主Redis工作,多个从Redis同步数据。当主Redis失效后,通过“哨兵机制”就会自动切换至某个从Redis,将其升为主Redis,从而保障系统的高可用。

(2)采用Redis集群,则是真正地实现了分布式缓存。它将数据测分配散列存储在多个Redis节点中,每个节点都只保存部分数据,从而将数据访问压力分解,提升系统整体性能。然而,如果Redis集群中的任何一个节点挂了,则那一部分数据将无法访问,不能保障高可用。因此 ,需要为每一个主Redis节点配备一个从Redis节点。

对于Redis通常会有两种用法:分布式缓存与内存数据库。

(1)如果只作为分布式缓存,那么Redis中的数据只是被动地与数据库同步。

(2)如果将Redis作为内存数据库使用,那么所有的增删改查操作都是在Redis中进行,当所有这些操作完成以后,再同步到数据库磁盘中。

继续阅读