1. 程式人生 > >論 業務系統 架構 的 簡化 (二) 用 關系數據庫 作 緩存

論 業務系統 架構 的 簡化 (二) 用 關系數據庫 作 緩存

分鐘 ase cap .net red lan 分布 https 未來

通常, 分布式緩存 是 NoSql 數據庫, 比如 Redis 。

但 實際上 我們 可以用 關系數據庫 來 作 緩存 。

比如 常用的 商品列表 等, 可以用 關系數據庫 來作 緩存, 查詢 排序 維護 都很方便 。

這種情況 其實 就是 在 主數據庫 外 再建一個 數據庫 用於 查詢,

通過 Job 定時 同步 主數據庫 的 資料 到 這個 “緩存”數據庫 就可以 。

根據需要, 我們可以在 主數據庫 外 建立 多個 “緩存”數據庫, 也可以 稱為 外圍數據庫, 周圍數據庫, 衛星數據庫 。

通過 Job 定時 同步數據 到 這些 衛星數據庫 。

這樣的架構, 井然有序 。

在 大環境 上, 硬件技術 和 關系數據庫技術 在 近幾年 取得了 長足 的 進步, 並且這一趨勢在未來還將延續 。

可以看看這篇文章 《CAP, BASE, 最終一致性和五分鐘原則》 https://blog.csdn.net/u013613428/article/details/55259924

裏面提到 “內存是硬盤, 硬盤是磁帶” 。

分布式緩存 , 比如 Redis , 可以作為 集群 的 共享內存, Server 們 通過 Redis 來 共享數據, 通信, 同步協作 。

Redis 提供的一些數據類型還是 頗具價值 的, 比如 隊列 Queue, 以及 Block Pop 等 Block 操作 。

可以用於 Server 間 共享數據, 通信, 同步協作 。

Server 間 的 共享數據, 通信, 同步協作 和 線程間 的 共享數據, 通信, 同步協作 是 類似的 ,

線程間 通過 內存 來 共享數據, 通過 Lock 來 同步協作,

Server 間 則 利用 Redis 這樣的 分布式緩存 作為 共享內存, 利用 Redis 提供的 Lock , 或者 Block 操作 來 同步協作 。

論 業務系統 架構 的 簡化 (二) 用 關系數據庫 作 緩存