天天看點

第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中進行,當所有這些操作完成以後,再同步到資料庫磁盤中。

繼續閱讀