、
首先我們先介紹些redis的基本概念,redis是Nosql資料庫,是一個key-value儲存系統。雖然redis是key-value的儲存系統,但redis支援的value儲存類型是非常的多,例如字串、鍊錶、集合、有序集合和雜湊。
那為什麼要使用類似redis這樣的Nosql資料庫呢?
1) 當資料量的總大小一個機器放不下時;
2) 資料索引一個機器的內存放不下時;
3) 訪問量(讀寫混合)一個實例放不下時。
單機時代,儲存只用一台機器裝mysql,如果每次儲存成千上萬條數據,這樣很會導致mysql的效能很差,儲存以及讀取速度很慢,然後就演變成緩存mysql 垂直拆分的方式。
Cache作為中間快取時代,將所有的資料先儲存到快取中,然後再存入mysql中,減少資料庫壓力,提高效率。
但是當資料再次增加到又一個量級,上面的方式也無法滿足需求,由於資料庫的寫入壓力增加,快取只能緩解資料庫的讀取壓力。讀寫集中在一個資料庫上讓資料庫不堪重負,大部分網站開始使用主從複製技術來達到讀寫分離,以提高讀寫效能和讀庫的可擴展性。 Mysql的master-slave模式變成這個時候的網站標配了。
主從分離模式時代,在redis的高速緩存,MySQL的主從複製,讀寫分離的基礎之上,這時MySQL主庫的寫壓力開始出現瓶頸,而數據量的持續猛增,由於MyISAM使用表鎖,在高並發下會出現嚴重的鎖問題,大量的高並發MySQL應用開始使用InnoDB引擎取代MyISAM。
Nosql資料庫的優點
1)易擴充
這些類型的資料儲存不需要固定的模式,無需多餘的操作就可以進行橫向的擴展。相對於關係型資料庫可以減少表格和欄位特別多的情況。也無型之間在架構的層面上帶來了可擴展的能力
2)大數據量提高性能
3)多樣靈活的資料模型
#更多Redis相關技術文章,請造訪# Redis教學欄位進行學習!
以上是為什麼要用redis緩存的詳細內容。更多資訊請關注PHP中文網其他相關文章!