為什麼要使用 Redis?

輕描淡寫發表於2020-05-25

Redis是一個開源的使用C語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value 資料庫,並提供多種語言的API。那麼為什麼要使用redis呢?

速度快

  • 當我們遇到執行很久且sql語句不是頻繁變動的查詢時我們往往會考慮將查詢結果放入redis快取中,後面的請求直接獲取快取中的資料返回給介面,這樣大大減少了I/O,提升了伺服器和資料庫的執行能力,使請求能快速響應,提高使用者體驗並且讓的應用更加穩定。那麼為什麼redis讀取會這麼快呢。
    1. redis是由C語言實現的,而C語言又是最貼近作業系統的,所以執行起來會比較快。
    2. redis將所有資料存放在記憶體中,是純記憶體訪問,不需要磁碟讀取。
    3. redis是單執行緒訪問,避免了執行緒切換和加鎖,釋放鎖帶來的效能消耗。
    4. redis 採用非同步非阻塞的多路I/O複用,多路 指的是多個網路連線,“複用”指的是複用同一個執行緒。採用多路 I/O 複用技術可以讓單個執行緒高效的處理多個連線請求,儘量減少網路 IO 的時間消耗。

資料型別豐富

  • Redis有8種資料型別,當然常用的主要是 String、Hash、List、Set、 SortSet 這5種型別,他們都是基於鍵值的方式組織資料。每一種資料型別提供了非常豐富的操作命令,可以滿足絕大部分需求。

資料備份

  • Redis支援資料的持久化,可以將記憶體中的資料儲存在磁碟中,重啟的時候可以再次載入進行使用。
  • Redis支援資料的備份,即master-slave模式的資料備份。
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章