redis--數(shù)據(jù)庫

數(shù)據(jù)庫對象定義如下:

struct redisServer {
    // ...
    int dbnum; // 數(shù)據(jù)庫數(shù)量
    redisDb *db; // 數(shù)組保存redis中所有db
    // ...
}

redisDb定義如下:

typedef struct redisDb {
    // ...
    dict *dict; // 數(shù)據(jù)庫鍵空間,保存所有鍵值對
    // ...
}

過期鍵刪除

惰性刪除
redis過期鍵惰性刪除策略定義在db.c/expireIfNeeded,所有對鍵的讀寫操作進行前都需要調(diào)用這個方法進行檢查。若已過則清除鍵。
定期刪除
redis過期鍵定期刪除策略定義在redis.c/activeExpireCycle,每當redis周期性執(zhí)行redis.c/serverCron的時候,都會執(zhí)行。它在指定時間內(nèi),分批遍歷各個數(shù)據(jù)庫,從expires中隨機檢查一部分鍵做過期檢查。
RDB
rdb文件生成和加載時會過濾掉已過期的鍵

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • dbnum默認值為16. 1. 數(shù)據(jù)庫鍵空間 redis是一個鍵值對數(shù)據(jù)庫服務(wù)器,每個數(shù)據(jù)庫有一個redisDb結(jié)...
    黑金星閱讀 390評論 0 1
  • 江水寒,夜色孤,霏雨濕秋風,流水輕撫。 人成各,今非昨,凝眸無限意,誰人肯顧? 撫瑤琴,吟梵曲,一曲終難了,禪意正濃。
    冬夏知多少閱讀 591評論 3 16
  • 1.出軌 青青和李剛從初中認識,青澀的年紀就開始戀愛。他們的愛情一路從學生時代,跌跌撞撞延續(xù)到結(jié)婚十八年后的201...
    奔跑得小豬閱讀 763評論 2 15

友情鏈接更多精彩內(nèi)容