<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ### 2.7.5 哈希對象(hash) 哈希對象的編碼(encoding)可以是`ziplist`、`hashtable` 當哈希對象同時滿足以下兩個條件時,使用ziplist編碼,否則使用hashtable編碼: - 所有元素長度小于64字節(可以通過`hash-max-ziplist-value`設置) - 元素數量小于512個(可以通過`hash-max-ziplist-entries`設置) ---- ``` redis> HSET p name "zhang" (integer) 1 redis> HSET p age 25 (integer) 1 redis> p capacity 32 (integer) 1 ``` 如果p鍵使用的是ziplist編碼,則其值對象如下所示: ``` redisObject type: REDIS_HASH encoding: REDIS_ENCODING_ZIPLIST ptr -> ziplist: { zlbytes, zltail, zllen, "name", "zhang", "age", 9, "capacity", 32, zlend } ... ``` 如果p鍵使用的是hashtable編碼,則其值對象如下所示: ``` redisObject type: REDIS_HASH encoding: REDIS_ENCODING_HT ptr -> dict: { (stringObject:"age")->(stringObject:25), (stringObject:"capacity")->(stringObject:32), (stringObject:"name")->(stringObject:"zhang"), } ... ``` ---- 哈希命令的實現: 命令 | ziplist的實現 | hashtable的實現 ---- | ---- | ---- HSET | 調用ziplistPush函數,依次將鍵和值推入到壓縮列表的表尾 | 調用dictAdd函數,將新節點添加到字典里面 HGET | 調用ziplistFind函數,在壓縮列表里找指定鍵所對應的結點,然后調用ziplistNext函數,將指針移動到鍵結點的下一結點即值結點,返回之 | 調用dictFind函數,在字典中查找給定鍵,然后調用dictGetVal函數,返回該鍵所對應的值 HEXISTS | 調用ziplistFind函數,在壓縮列表中查找指定鍵是否存在 | 調用dictFind函數,在字典中查找指定鍵是否存在 HDEL | 調用ziplistFind函數,如果查找到,則將其與下一結點即值結點都刪除掉 | 調用dictDelete函數,在字典中刪除指定鍵所對應的鍵值對 HLEN | 調用ziplistLen函數,將結果除以2后返回 | 調用dictSize函數,將結果返回 HGETALL | 遍歷整個壓縮列表,用ziplistGet函數返回所有鍵和值的結點 | 遍歷整個字典,用dictGetKey函數返回字典的鍵,用dictGetValue函數返回字典的值
                  <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>

                              哎呀哎呀视频在线观看