微服務架構 redis mysql有幾種用法?
redis mysql有幾種用法?首先,我們需要知道MySQL存儲在磁盤上,redis存儲在內存中。Redis可以用于持久存儲和緩存。目前,大多數(shù)公司使用MySQL redis作為主存儲,redis作
redis mysql有幾種用法?
首先,我們需要知道MySQL存儲在磁盤上,redis存儲在內存中。Redis可以用于持久存儲和緩存。目前,大多數(shù)公司使用MySQL redis作為主存儲,redis作為輔助存儲,以加快訪問和讀取速度,提高性能
那么為什么不直接使用redis來存儲呢?
我的觀點是:因為redis是存儲在內存中的,如果存儲在內存中,存儲容量肯定比磁盤小得多。如果你想存儲大量的數(shù)據(jù),你只能花更多的錢來購買內存。因此,在一些不需要高性能的地方,這是相對浪費的。所以目前基本上是MySQL(主)Redis(輔),需要性能的地方用Redis,不需要高性能的地方用MySQL,刀片上用浩剛
看來其他答案都沒有提到這一點:Redis的持久化功能也可以防止緩存雪崩。應該說,這就是redis支持持久性的必要性。
例如,假設后臺架構是redis mysql,redis已經(jīng)關閉了持久性。有一天,redis服務器突然宕機,丟失了所有的內存緩存。redis服務器恢復后,需要重新緩存MySQL的數(shù)據(jù)。如果讀取數(shù)據(jù)請求非常集中,MySQL可能會癱瘓,這就是所謂的緩存雪崩。
如果土豪公司只使用redis數(shù)據(jù)庫而不使用MySQL,就不會出現(xiàn)緩存雪崩問題,因為redis根本不是緩存功能,而是存儲功能。