1. 程式人生 > 其它 >Redis基本資料類對應的底層資料結構大解析

Redis基本資料類對應的底層資料結構大解析

技術標籤:Redisredis

寫在前面: 眾所周知 現在JAVA開發很內卷,玩轉redis還不夠,面試會經常被問redis底層C語言的資料結構,已經被問好幾次了!是時候結束了

在Redis當中鍵值對是儲存在DicEntry結構當中
在這裡插入圖片描述

  • Key:SDS,簡單動態陣列結構(已使用的長度,可以使用的長度,char[] )
  • Value: RedisObject
  • next指標
    接下來重要照顧一下redisObject
typedef struct redisObject {
    // 型別:string,list,hash,set,sorted set(5種基本型別)
    unsigned
type:4; // 不使用(對齊位) unsigned notused:2; // 編碼方式 unsigned encoding:4; // LRU 時間(相對於 server.lruclock) unsigned lru:22; // 引用計數 int refcount; // 指向物件的值 void *ptr; } robj;

redis 底層資料結構