App下載

Redis為啥什這么快?有哪些持久化方式?區(qū)別是怎樣的?

亞洲酸檸檬推廣大使 2021-12-15 14:32:38 瀏覽數(shù) (1859)
反饋

redis是單線程,為什么這么快?

基于內(nèi)存,絕大部分請求是純粹的內(nèi)存操作,CPU不是Redis的瓶頸。

避免了不必要的CPU上下文切換和其他競爭條件,比如鎖操作等。
底層是使用多路I/O復(fù)用模型,非阻塞IO。
Redis6 后支持多線程,但是默認(rèn)不開啟。
redis有哪些持久化方式,分別說下他們的區(qū)別。
支持AOF和RDB持久化。

 
AOF
以日志的形式記錄服務(wù)器所處理的每一個寫、刪除操作,查詢操作不會記錄,以文本的方式記錄。
支持秒級持久化、兼容性好,對于相同數(shù)量的數(shù)據(jù)集而言,AOF文件通常要大于RDB文件,所以恢復(fù)比RDB慢。

 
RDB
在指定的時間間隔內(nèi)將內(nèi)存中的數(shù)據(jù)集快照寫入磁盤,可以指定時間歸檔數(shù)據(jù),但不能做到實時持久化。
文件緊湊,體積小,對于災(zāi)難恢復(fù)而言,RDB是非常不錯的選擇,相比于AOF機制,如果數(shù)據(jù)集很大,RDB 在恢復(fù)大數(shù)據(jù)集時的速度比 AOF 的恢復(fù)速度要快


0 人點贊