簡單了解Redis

2021-09-03 08:12:16 字數 1081 閱讀 4840

什麼是redis?

redis是乙個開源的使用ansi c語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、key-value資料庫,並提供多種語言的api。

redis有哪些優點?

1、支援多種資料型別。常見的:string(字串)、list(列表)  、hash(雜湊)  、sets (集合)  、sorted set(有序集合)。

2、資料存在記憶體中,讀寫效能高。理論上:讀的速度是110000次/s,寫的速度是81000次/s,實際上可能略小 。

3、原子性。redis的所有操作都是原子性的,每乙個操作都是不可再分的,要麼執行,要麼不執行。redis也支援多個操作的事務,通過multi和exec等指令來實現,但是在事務執行期間,即使某個操作執行失敗,其他的命令也將會繼續執行。

4、單執行緒。redis佇列將訪問變為序列訪問,消除了傳統資料庫序列控制的開銷。執行緒是作業系統最小的執行單元,正因為在redis中是單執行緒,意味著redis的操作是乙個乙個地進行的,必須完成乙個操作後,才進行下乙個操作。而這也是redis操作是原子性的原因。

5、具有持久化的特徵。資料可以持久化到硬碟中。

6、可以進行分布式部署,實現讀寫分離,多個從機分攤讀的壓力,提高效能。

redis的應用場景

1、資料快取。與關係型資料庫搭配使用,比如快取資料庫查詢頻率高但是修改次數很少的資料,能減少對資料庫的io操作,實現高速查詢,提高效能等。

2、有效解決高併發的問題。一提到高併發,自然會想到搶票、秒殺這樣類似的問題,至於為什麼說redis能有效解決高併發的問題呢?上面redis的有點說的已經很明顯了。單執行緒相當於提供了鎖,操作原子性,讀寫速度極快,還能進行分布式部署,最後還能把操作結果持久化到硬碟。

3、獲取最新資料或者訪問多的資料等。實現方式:在redis中使用lpush命令存入資料構建list, 然後通過sort等命令來進行排序。

4、刪除過期資料。將資料存入redis,並設定乙個有效時間,當超過這個有效時間時,redis會刪除這個資料。比如,簡訊驗證碼。

如果有寫的不對的地方,請大家多多批評指正,非常感謝!

redis簡單了解

redis 是單程序程式 redis與memcache對比 1 redis能夠用不同的兩種方式將資料寫入磁碟 時間點轉儲即快照 只追加檔案aof,將所有修改了資料庫的命令都寫入乙個只追加檔案裡面,使用者可以根據資料的重要程度,將只 追加寫入設定為從不同步 每秒同步一次或者每寫入乙個命令就同步一次 2...

簡單了解Redis

redis是一種支援key value等多種資料結構的儲存系統,可用於快取,事件發布,訊息佇列等場景,支援多種資料型別 string hash list set zset。而且基於記憶體,可持久化,並且能夠通過sentinel哨兵和自動分割槽cluster實現高可用。補充 redis中list集合是...

redis事務的簡單了解

redis對事務的支援目前還比較簡單。redis只能保證乙個client發起的事務中的命令可以連續的執行,而中間不會插入其他client的命令。由於redis是單執行緒來處理所有client的請求的所以做到這點是很容易的。一般情況下redis在接受到乙個client發來的命令後會立即處理並 返回處理...