redis的前身是乙個實現高效能佇列功能的資料庫。
redis的底層使用ansi c編寫的資料庫。
2.1 執行速度
讀寫效能:10萬/次
2.2 支援多種資料型別
基於key-value鍵值對的資料結構伺服器。支援多種資料結構(而mysql是基於表的)
2.3 支援多種功能
鍵過期功能:實現快取
發布訂閱功能:實現訊息系統
支援lua指令碼
事務功能:保證了事務特性(acid)
流水線功能:客戶端可以將一批命令一次性傳到redis服務端,減少了網路的開銷和io次數。
2.4 簡單穩定
redis 3.0 支援集群特性,**僅5玩行。
redis服務端處理模型簡單
redis客戶端開發簡單
redis自身實現了事務處理的功能(不依賴於系統的類庫)
極少因為redis自身bug導致redis宕機
2.5 自持多種客戶端
2.6 持久化
redis提供了不同級別的持久化方式:2.7 高可用和分布式
mysql是關係型資料庫,是持久化儲存的,查詢檢索的話,會涉及到磁碟io操作,為了提高效能,可以使用快取技術,而memcached就是記憶體資料庫,資料儲存在記憶體中(當然也可以進行持久化儲存),可以用作快取資料庫。使用者首先去memcached查詢資料,如果未查找到(即快取未命中),才去mysql中查詢資料,查詢到的資料會更新到快取資料庫中,提供給下次可能進行的查詢。提高了資料查詢方面的效能。快取redis和memcached都是快取資料庫,可以大大提公升高資料量的web訪問速度。但是memcached只是提供了簡單的資料結構string,而redis的value可以是string、list、set、hash、sorted set這些,功能更加強大。
web應用中一般採用mysql+redis的方式,web應用每次先訪問redis,如果沒有找到資料,才去訪問mysql。
redis是記憶體資料庫,資料儲存在記憶體中,訪問速度快。mysql是關係型資料庫,功能強大,儲存在磁碟中,資料訪問速度慢。像memcached,mongodb,redis等,都屬於no sql系列。
排行榜系統
計數器應用
redis可以應對併發量很大的計數
redis天然支援計數功能且效能好
社交網路
訊息佇列系統
不適合大規模資料儲存
不適合儲存冷資料
redis使用場景
最近要去面試php程式設計師,去各家招聘 看看,都要有redis方面的知識儲備。這裡寫一篇部落格,就當是對最近學習redis的一次回顧。簡單一句話介紹redis 基於記憶體的高效的key value資料庫,把資料載入到記憶體中進行處理,定期把資料儲存到硬碟進行儲存,單執行緒。redis五大資料型別 ...
redis使用場景
redis開創了一種新的資料儲存思路,使用redis,我們不用在面對功能單調的資料庫時,把精力放在寫龐大的sql上了,而是利用redis靈活多變的資料結構和資料操作來實現。redis常用資料型別 redis最為常用的資料型別主要有以下五種 下面我們先來逐一的分析下這五種資料型別的使用和內部實現方式 ...
Redis使用場景
1 字串使用場景 a 快取功能 典型使用場景 redis作為快取層,mysql作為儲存層,絕大部分請求的資料都是從redis中獲取,由於redis具有支撐高併發的特性,所以快取通常能起到加速讀寫和降低後端壓力的作用。b 計數 c 共享session 典型應用場景 使用者登陸資訊,redis將使用者的...