Redis-壓縮表-ziplistDeleteRange詳解

/* 從索引index開始,連續從壓縮表zl中刪除num個結點 */
unsigned char *ziplistDeleteRange(unsigned char *zl, unsigned int index, unsigned int num) {
    /* 指針p保存壓縮表中第index個結點的位置 */
    unsigned char *p = ziplistIndex(zl, index);

    /* 如果p位置爲空,說明壓縮表中並沒有index個結點,此時直接返回壓縮表指針,
    否則調用函數__ziplistDelete,返回刪除結點後的壓縮表指針 */
    return (p == NULL) ? zl : __ziplistDelete(zl, p, num);
}

 

發佈了104 篇原創文章 · 獲贊 13 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章