Redis是一個開源的,基于內(nèi)存的數(shù)據(jù)結(jié)構(gòu)存儲,可用作于數(shù)據(jù)庫、緩存、消息中間件。
從官方的解釋上,我們可以知道:Redis是基于內(nèi)存,支持多種數(shù)據(jù)結(jié)構(gòu)。
從經(jīng)驗的角度上,我們可以知道:Redis常用作于緩存。
就我個人認為:學習一種新技術(shù),先把握該技術(shù)整體的知識(思想),再扣細節(jié),這樣學習起來會比較輕松一些。所以我們先以“內(nèi)存”、“數(shù)據(jù)結(jié)構(gòu)”、“緩存”來對Redis入門。
為什么要用Redis?
從上面可知:Redis是基于內(nèi)存,常用作于緩存的一種技術(shù),并且Redis存儲的方式是以key-value
的形式。
我們可以發(fā)現(xiàn)這不就是Java的Map容器所擁有的特性嗎,那為什么還需要Redis呢?
Java實現(xiàn)的Map是本地緩存,如果有多臺實例(機器)的話,每個實例都需要各自保存一份緩存,緩存不具有一致性
Redis實現(xiàn)的是分布式緩存,如果有多臺實例(機器)的話,每個實例都共享一份緩存,緩存具有一致性。
Java實現(xiàn)的Map不是專業(yè)做緩存的,JVM內(nèi)存太大容易掛掉的。一般用做于容器來存儲臨時數(shù)據(jù),緩存的數(shù)據(jù)隨著JVM銷毀而結(jié)束。Map所存儲的數(shù)據(jù)結(jié)構(gòu),緩存過期機制等等是需要程序員自己手寫的。
Redis是專業(yè)做緩存的,可以用幾十個G內(nèi)存來做緩存。Redis一般用作于緩存,可以將緩存數(shù)據(jù)保存在硬盤中,Redis重啟了后可以將其恢復。原生提供豐富的數(shù)據(jù)結(jié)構(gòu)、緩存過期機制等等簡單好用的功能。
作者:Java3y
鏈接:https://www.zhihu.com/question/316430245/answer/2426979457
來源:知乎
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。