Q.為甚麼要使用Redis?
通常Redis應用在同步
多台Server之間的快取
假如只有一台Server建議使用本地的快取就好
,可以省下這筆錢的。
舉例:
在昨天例子短時間大量請求,警告使用者
中,假如Server有做附載平衡有A、B、C三台伺服器,又只使用本地快取情況下,當使用者惡意大量送出請求,最差情況使用者可以三倍請求上限的請求,如圖片
使用Redis可以避免此情況,三台Server取得資料來源一致從Redis而來,如圖片
甚至網頁伺服器經典功能Session
也可以使用Redis保存,達到多台Server共用Session。
Q.為甚麼要使用Azure Redis?Redis是開源、免費,為什麼還要花錢在Azure建立?
1.因為使用其他Azure其它服務像是wep app service,服務之間會自動轉換為走內網
,提升速度。
假如還在家架設redis,光是離azure機房遙遠網路傳遞時間,就失去了快取
的意義。
2.支援動態調整記憶體大小
、甚至叢集也可以動態調整。
注意叢集方案很花錢
,最起碼要P1方案以上
3.支援簡單的定時備份(RDB),可以減少資料遺失的情況
舉例,像是伺服器為了減輕資料庫壓力,資料先保存在Redis,用排程器一小時抓取Redis資料保存到DB,中間假如Redis發生異常,一小時中間的資料就算是遺失了。這時候使用RDB設為15分鐘備份一次可以減少資料遺失風險。