<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ### 觸發rehash的條件 #### 負載因子計算 哈希表的負載因子計算:負載因子 = 哈希表已保存節點數量 / 哈希表大小 ``` load_factor = ht[0].used / ht[0].size ``` #### rehash的條件 觸發dict的rehash主要有兩種:一種是觸發擴容操作,另一種是觸發收縮操作。兩種rehash觸發的條件是不一樣的,需要各自滿足一下條件才能導致rehash操作 1)觸發擴容操作條件:當以下條件中的任意一個被滿足時, 程序會自動開始對哈希表執行擴展操作。 1. 服務器目前沒有在執行 BGSAVE 命令或者 BGREWRITEAOF 命令,并且哈希表的負載因子大于等于 1 2. 服務器目前正在執行 BGSAVE 命令或者 BGREWRITEAOF 命令,并且哈希表的負載因子大于等于 5; 根據 BGSAVE 命令或 BGREWRITEAOF 命令是否正在執行,服務器執行擴展操作所需的負載因子并不相同,這是因為在執行 BGSAVE 命令或 BGREWRITEAOF命令的過程中, Redis會fork一個子進程,而大多數操作系統都采用寫時復制(copy-on-write)技術來優化子進程的使用效率,所以在子進程存在期間,服務器會提高執行擴展操作所需的負載因子,從而盡可能地避免在子進程存在期間進行哈希表擴展操作,這可以避免不必要的內存寫入操作, 最大限度地節約內存 2)觸發收縮操作條件:當哈希表的負載因子小于0.1時,程序自動開始對哈希表執行收縮操作。 ``` (ht[0].used / ht[0].siz) < 0.1,也就是填充率必須<10% ``` 3) dict添加、查詢和刪除操作 1. dict添加操作:如果正在重哈希中,會把數據插入到ht[1];否則插入到ht[0]; 2. dict查詢操作:先在第一個哈希表ht[0]上進行查找,再判斷當前是否在重哈希,如果沒有,那么在ht[0]上的查找結果就是最終結果。否則,在ht[1]上進行查找。查詢時會先根據key計算出桶的位置,在到桶里的鏈表上尋找key; 3. dict刪除操作:判斷當前是不是在重哈希過程中,如果是只在ht[0]中查找要刪除的key;否則ht[0]和ht[1]它都要查找刪除;
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看