當前位置:成語大全網 - 新華字典 - redis中的rehash?

redis中的rehash?

Redis中所有數據都有key-value,這是通過哈希表實現的,redis的字典數據結構保存了兩張哈希表,采取了漸進哈希的方法。

字典與漸進式rehash

總結:

在此過程中,字典的增刪改查操作會同時在ht[0],ht[1]兩個表上進行,比如:

Redis在持久化時,如果是采用BGSAVE命令或者BGREWRITEAOF的方式,那Redis會fork出壹個子進程來讀取數據,從而寫到磁盤中。

總體來看,Redis還是讀操作比較多。如果子進程存在期間,發生了大量的寫操作,那可能就會出現很多的分頁錯誤(頁異常中斷page-fault),這樣就得耗費不少性能在復制上。

而在rehash階段上,寫操作是無法避免的。所以Redis在fork出子進程之後, 將負載因子閾值提高,盡量減少寫操作, 避免不必要的內存寫入操作,最大限度地節約內存。