我們可以把分布式緩存(Distributed Cache) 看作是一種內存數據庫的服務,它的最終作用就是提供緩存數據的服務。
如下圖所示,就是一個簡單的使用分布式緩存的架構圖。我們使用 Nginx 來做負載均衡,部署兩個相同的服務到服務器,兩個服務使用同一個數據庫和緩存。
本地緩存優點:
本地的緩存的優勢是低依賴,比較輕量並且通常相比於使用分布式緩存要更加簡單。
本地的緩存缺點:
1.本地緩存對分布式架構支持不友好:數據無法共享
2.容量跟隨服務器限制明顯。
分布式緩存優點:
1.緩存部署在一台單獨的服務器上
2.緩存數據共享:即使同一個相同的服務部署在再多機器上,也是使用的同一份緩存,其實就一種數據庫,單獨放在了一個服務器上,然后其他的服務都去這個緩存數據庫拿數據(個人理解)。
3.單獨的分布式緩存服務的性能、容量和提供的功能都要更加強大
分布式緩存缺點:
1.需要為分布式緩存引入額外的服務比如 Redis 或 Memcached
2.需要單獨保證 Redis 或 Memcached 服務的高可用。
分布式緩存主要解決的是單機緩存的容量受服務器限制並且無法保存通用的信息。因為,本地緩存只在當前服務里有效,比如如果你部署了兩個相同的服務,他們兩者之間的緩存數據是無法共同的。