<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國際加速解決方案。 廣告
                當要將一個新的鍵值對添加到字典里面時, 程序需要先根據鍵值對的鍵計算出哈希值和索引值, 然后再根據索引值, 將包含新鍵值對的哈希表節點放到哈希表數組的指定索引上面。 Redis 計算哈希值和索引值的方法如下: ~~~ # 使用字典設置的哈希函數,計算鍵 key 的哈希值 hash = dict->type->hashFunction(key); # 使用哈希表的 sizemask 屬性和哈希值,計算出索引值 # 根據情況不同, ht[x] 可以是 ht[0] 或者 ht[1] index = hash & dict->ht[x].sizemask; ~~~ ![](https://box.kancloud.cn/2015-09-13_55f5128c90054.png) 舉個例子, 對于圖 4-4 所示的字典來說, 如果我們要將一個鍵值對?`k0`?和?`v0`?添加到字典里面, 那么程序會先使用語句: ~~~ hash = dict->type->hashFunction(k0); ~~~ 計算鍵?`k0`?的哈希值。 假設計算得出的哈希值為?`8`?, 那么程序會繼續使用語句: ~~~ index = hash & dict->ht[0].sizemask = 8 & 3 = 0; ~~~ 計算出鍵?`k0`?的索引值?`0`?, 這表示包含鍵值對?`k0`?和?`v0`?的節點應該被放置到哈希表數組的索引?`0`?位置上, 如圖 4-5 所示。 ![](https://box.kancloud.cn/2015-09-13_55f51293b4642.png) 當字典被用作數據庫的底層實現, 或者哈希鍵的底層實現時, Redis 使用 MurmurHash2 算法來計算鍵的哈希值。 MurmurHash 算法最初由 Austin Appleby 于 2008 年發明, 這種算法的優點在于, 即使輸入的鍵是有規律的, 算法仍能給出一個很好的隨機分布性, 并且算法的計算速度也非常快。 MurmurHash 算法目前的最新版本為 MurmurHash3 , 而 Redis 使用的是 MurmurHash2 , 關于 MurmurHash 算法的更多信息可以參考該算法的主頁:?[http://code.google.com/p/smhasher/](http://code.google.com/p/smhasher/)?。
                  <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>

                              哎呀哎呀视频在线观看