最近要換新工作了,借着新老工作交替的這段窗口放松了下,所以專欄拖更了,不過我心里毫無愧疚,畢竟沒人催更。 不過話說回來天天追劇 刷綜藝的日子也很是枯燥,羡慕你們這些正常上班的人,每天都有正經工作 ...
.初步認識跳躍表 圖中所示,跳躍表與普通鏈表的區別在於,每一個節點可以有多個后置節點,圖中是一個 層的跳躍表 傳統意義的單鏈表是一個線性結構,向有序的鏈表中插入一個節點需要O n 的時間,查找操作需要O n 的時間。如果我們使用圖中所示的跳躍表,就可以減少查找所需時間為O n ,因為我們可以先通過每個節點的最上面的指針先進行查找,這樣子就能跳過一半的節點。比如我們想查找 ,首先和 比較,大於 之 ...
2018-07-26 14:36 0 4244 推薦指數:
最近要換新工作了,借着新老工作交替的這段窗口放松了下,所以專欄拖更了,不過我心里毫無愧疚,畢竟沒人催更。 不過話說回來天天追劇 刷綜藝的日子也很是枯燥,羡慕你們這些正常上班的人,每天都有正經工作 ...
0.前言 Redis中有序集合zset需要使用skiplist作為存儲數據結構, 關於skiplist數據結構描述可以查詢wiki, 本文主要介紹Redis實現的skiplist的細節. 1.數據結構定義 2.創建跳躍表 創建跳躍表過程比較簡單, 初始化zskiplist數據結構 ...
1.字典相關的幾個結構體 2.動態擴容方法 int dictRehash(dict *d, int n) 為了對dictht進行動態擴容,reha ...
2020的開年是比較艱難的,爆發了肺炎疫情,希望大家多注意安全,也希望疫情早日好轉! 以3.2版本的源碼為例,開始講解,有時會貼出源碼,進行說明,並會注明源碼出處。 數據庫 應該都知道默認redis會有16個庫,是根據配置文件來的,可以通過select命令來切換數據庫。那原理 ...
redis的一些介紹,麻煩閱讀前面的幾篇文章,想對redis的詳細實現有所了解,強力推薦《redis設計與實現》(不僅僅從作者那兒學習到redis的實現,還有項目的管理、思想等,作者可能比你我都年輕歐)。如果閱讀了上面的文檔,激起你對redis的強力好奇,那么就只能閱讀源碼了。不管是在校學生 ...
一.SDS的簡單介紹 SDS:簡單動態字符串(simple dynamic string) 1)SDS是Redis默認的字符表示,比如包含字符串值的鍵值對都是在底層由SDS實現的 2)SDS用來保存數據庫中的字符串值 3)SDS被用作緩沖區:比如AOF模塊的AOF緩沖區,以及客戶端 ...
Redis使用跳躍表作為有序集合鍵的的底層實現,如果一個有序集合包含的元素數量比較多,又或者有序集合中元素的成員是比較長的字符串時Redis就會使用跳躍表 來作為有序集合鍵的底層實現 Redis只在兩個地方用到了跳躍表,一個是實現有序集合鍵,另一個是在集群節點中用作內部數據結構 跳躍表 ...
簡介 我們知道 Redis 中有五種基本結構,其中有一個叫 有序列表zset 的數據結構,它類似於 Java 中的 SortedSet 和 HashMap 的結合體,一方面它是一個 set 保證了內部 value 的唯一性,另一方面又可以給每個 value 賦予一個排序的權重值 score ...