Redis是一個基于內存的數據結構存儲,相較于傳統的磁盤存儲,它的讀取、寫入速度更快。這主要得益于以下幾點:
使用內存存儲
Redis將所有數據存儲在內存中,不同于其他數據庫的磁盤存儲。內存的存取速度比磁盤存儲快了好幾個數量級,這導致Redis在讀取、寫入速度上要快于其他磁盤存儲的數據庫。像傳統數據庫使用磁盤存儲表示將每一次的修改刷新在磁盤寫入,一次寫入操作要進行若干次尋道、旋轉和尋道燈移動等機械操作,但Redis的存儲方式很不一樣,它的所有修改都是直接在內存里進行,一次修改僅僅涉及數據的存取、處理、替換、回填等內存操作,所以Redis極高的訪問效率在內存操作上有著最大限度的體現。
采用單線程方式進行操作
Redis采用了單線程的方式,所以Redis執行操作時是 從內存中讀取數據,處理命令,然后將結果響應給客戶端。這樣操作的過程更加簡單、快速,沒有使用并發消耗的一些操作。因此在沒有壓力時,發揮Redis并發能力的成本非常之低,支持并發和連接的能力也非常強。
數據結構簡單而高效
Redis支持的數據類型非常簡潔,它只支持五種基本的數據結構,分別是String,List,Set,Sorted Set和Hash,但是每一種數據結構卻都極其高效。比如不僅僅支持List類型的操作命令,而且還支持Store,能夠用于像采購清單的自動去重,以及許多沒有 SQL 完成器的數據透視。Hash在緩存的場景中的應用也是非常靈活的,可以將其中的鍵值對轉化為可讀性更高的可讀性更高的JSON結構。這樣操作的過程更加簡單、快速,體現了Redis存儲速度快的優勢。