App下載

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

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

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

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

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

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

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


0 人點(diǎn)贊