redis設計和實現》讀書筆記

2021-09-27 03:42:57 字數 383 閱讀 2423

redis如何實現主從同步的高效率??

主從複製的同步有乙個命令資料的同步文字,然後利用兩個不同伺服器的偏移量來進行進行同步,避免每次都是全部同步(並非會儲存所有的命令資料,而是會有乙個緩衝區(比如1m,比如2m),如果偏移量在這個緩衝區裡面則是會部分同步)

redis的備份包括儲存資料的二進位制和命令的同步,第一種方式相當於把當前記憶體的資料都儲存下來,而第二種相當於把所有的命令都儲存下來然後進行儲存,恢復的時候把命令讀取出來進行恢復

資料的備份方式:

使用程序記憶體複製,當要資料備份的時候,fork乙個程序,然後儲存fork程序的資料,這樣不會阻塞主程序(當資料儲存完畢後,再繼續儲存後續的資料)

《redis設計與實現》讀書筆記

sds dynamic string 比起 c 字串,sds 具有以下優點 len屬性維護字串長度,常數複雜度即可獲取。預先檢查長度是否滿足需求,如果不滿足自動拓展,杜絕緩衝區溢位。空間預分配 惰性空間釋放會減少修改字串長度時所需的記憶體重分配次數。二進位制安全。相容部分 c 字串函式。list 鍊...

redis設計與實現 讀書筆記1

乙個業務模型引出對redis的好奇 提出問題 1.redis 的五種資料型別分別由什麼資料結構實現?2.redis 的字串型別既可以儲存字串,也可以儲存整數和浮點數,甚至是二進位制位 使用setbit redis 內部是如何實現儲存這些值?3.redis的一部分命令只能對特定的資料型別執行 而另一部...

《redis設計與實現》讀書筆記(一)

定時刪除 惰性刪除 定期刪除 描述一過期立馬刪除 下次獲取時再刪除 每隔一段時間批量刪除 優點對記憶體友好 對cpu時間友好 缺點 對cpu時間不友好 對記憶體不友好 aof持久化是通過儲存redis伺服器所執行的寫命令來記錄資料庫狀態。aof持久化的實現 命令追加 寫命令以協議的格式追加到aof ...