redis系列篇---3W
1、what redis?
Redis 是一個遵循BSD許可的開源內存數據結構存儲系統,它可以用作資料庫、緩存和消息中間件。 它支持多種類型的數據結構,strings,lists,sets,sorted sets,hashes等豐富的數據結構可以很好的支持對現實世界需求的抽象描述。
2、why redis?
1) 內存操作,速度快,性能好,對於變化少而又經常讀取的數據進行redis緩存,可有效提高系統的處理能力,減輕系統IO壓力;
2) 天然分散式架構,天生支持業務快速發展的彈性伸縮,互聯網、社交等業務領域對於快速擴容快速部署要求極高;
3) 與memcache等其他緩存資料庫相比,redis支持持久化操作,可以進行 aof 及 rdb 數據持久化到磁碟,從而滿足數據備份或數據恢復等需求,較好的防止數據丟失,memcache是純內存的KV資料庫,只支持內存操作,重啟數據全部失效;
4) 支持主從Replication ,多級複製和增量複製多種模式,以及Sentinel 系統保證redis集群的故障自動轉移,有效保證緩存系統HA;
5) 支持頻道訂閱,良好的pub/sub 消息訂閱機制,可快速簡潔地實現關注、好友、粉絲列表、商品收藏等多客戶主動推送分發需求;
3、how redis?
1) 分析業務系統的數據流,找出系統中的高頻讀操作數據集,可考慮將數據放入redis緩存系統,緩存系統提升系統性能的直接因素就是命中率,低命中率的緩存系統對於業務系統是個災難;
2) 業務系統讀取流程,先讀取redis緩存數據,沒有數據再訪問資料庫mysql層,並寫入數據到redis緩存;
3) 業務系統更新流程,先更新資料庫,再使緩存過期或刪除;
推薦閱讀:
※深入理解MySQL---資料庫知識最全整理,這些你都知道了嗎?
※MySQL速覽
※mysql 每次查詢一條數據查10次 和一次查詢10條數據效率有多少差距?
※MySQL主資料庫負責增刪改,從資料庫負責增改怎麼配置?
※簡單說明下MySQL的內存使用