Redis 架構(gòu)是如何一步一步發(fā)展到今天的樣子的?
2010 年 - 單體 Redis
Redis 1.0 于 2010 年發(fā)布,當(dāng)時(shí)的架構(gòu)非常簡(jiǎn)單。它通常用作業(yè)務(wù)應(yīng)用程序的緩存。
不過,Redis 將數(shù)據(jù)存儲(chǔ)在內(nèi)存中。當(dāng)我們重啟 Redis 時(shí),我們將丟失所有數(shù)據(jù),流量將直接導(dǎo)向數(shù)據(jù)庫。
2013 - 持久性
2013 年發(fā)布的 Redis 2.8 解決了之前的限制。Redis 引入了 RDB 內(nèi)存快照來持久化數(shù)據(jù)。它還支持 AOF(Append-Only-File),即每條寫入命令都寫入一個(gè) AOF 文件。
2013 - 復(fù)制
Redis 2.8 還增加了復(fù)制功能,以提高可用性。主實(shí)例處理實(shí)時(shí)讀寫請(qǐng)求,而副本同步主實(shí)例的數(shù)據(jù)。
2013 - 哨兵
Redis 2.8 引入了用于實(shí)時(shí)監(jiān)控 Redis 實(shí)例的 Sentinel。它執(zhí)行以下四項(xiàng)任務(wù):監(jiān)控、通知、自動(dòng)故障轉(zhuǎn)移和配置提供。
2015 - 集群
2015 年,Redis 3.0 發(fā)布。它增加了 Redis 集群。
Redis 集群是一種分布式數(shù)據(jù)庫解決方案,通過分片管理數(shù)據(jù)。數(shù)據(jù)被分成 16384 個(gè)槽位(slots),每個(gè)節(jié)點(diǎn)負(fù)責(zé)一部分槽位。
展望未來
Redis 因其高性能和豐富的數(shù)據(jù)結(jié)構(gòu)大大降低了開發(fā)業(yè)務(wù)應(yīng)用程序的復(fù)雜性而廣受歡迎。
2017 年,Redis 5.0 發(fā)布,增加了流(stream)數(shù)據(jù)類型。
2020 年,Redis 6.0 發(fā)布,在網(wǎng)絡(luò)模塊中引入了多線程 I/O。Redis 模型分為網(wǎng)絡(luò)模塊和主處理模塊。在 Redis 單線程模型中,網(wǎng)絡(luò)模塊往往成為瓶頸高發(fā)地。
審核編輯:劉清
-
數(shù)據(jù)存儲(chǔ)
+關(guān)注
關(guān)注
5文章
971瀏覽量
50909 -
Redis
+關(guān)注
關(guān)注
0文章
375瀏覽量
10877
原文標(biāo)題:Redis 是怎么從單體架構(gòu)發(fā)展到分布式緩存的?
文章出處:【微信號(hào):小林coding,微信公眾號(hào):小林coding】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論