Redis基礎(一)使用場景和Redis特性

2021-09-11 02:54:41 字數 1281 閱讀 3727

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將使用者的...