Redis是什麼

Redis是一個開源的底層使用C語言編寫的Key-Value儲存資料庫。可用於快取、事件釋出訂閱、高速佇列等場景。而且支援豐富的資料型別:string(字串)、Hash(雜湊)、List(列表)、Set(無序集合)、Zset(sorted set:有序集合)。
Redis在專案中的應用場景:
1、快取資料
最常用,對經常需要查詢且變動不是很頻繁的資料 常稱作熱點資料。
2、訊息佇列
相當於訊息訂閱系統,比如ActiveMQ、RocketMQ。如果對資料有較高一致性要求時,還是建議使用MQ。
3、計數器
比如統計點選率、點贊率,Redis具有原子性,可以避免併發問題。
4、電商網站資訊
大型電商平臺初始化頁面資料的快取。比如去哪兒網購買機票的時候首頁的價格和你點進去的價格會有差異。
5、熱點資料
比如新聞網站實時熱點、微博熱搜等,需要頻繁更新。總資料量比較大的時候直接從資料庫查詢會影響效能。
Redis的效能極高,讀的速度是110000次/s,寫的速度是81000次/s,支援事務,支援備份,豐富的資料型別。
任何事情都是兩面性,Redis也是有缺點的:
1、由於是記憶體資料庫,所以單臺機器儲存的資料量是有限的,需要開發者提前預估,需要及時刪除不需要的資料。
2、當修改Redis的資料之後需要將持久化到硬碟的資料重新加入到內容中,時間比較久,這個時候Redis是無法正常執行的。