From 311fac2c2400bc69f4918c25119a468ce6d0cdc6 Mon Sep 17 00:00:00 2001 From: "jiangyujie.jyj" Date: Fri, 10 May 2024 09:49:37 +0800 Subject: [PATCH] Add lfu support for debug object command. Signed-off-by: jiangyujie.jyj --- src/debug.c | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/src/debug.c b/src/debug.c index 3142389172..e1ed468f9e 100644 --- a/src/debug.c +++ b/src/debug.c @@ -648,13 +648,23 @@ NULL remaining -= used; } - addReplyStatusFormat(c, - "Value at:%p refcount:%d " - "encoding:%s serializedlength:%zu " - "lru:%d lru_seconds_idle:%llu%s", - (void*)val, val->refcount, - strenc, rdbSavedObjectLen(val, c->argv[2], c->db->id), - val->lru, estimateObjectIdleTime(val)/1000, extra); + if (server.maxmemory_policy & MAXMEMORY_FLAG_LFU) { + addReplyStatusFormat(c, + "Value at:%p refcount:%d " + "encoding:%s serializedlength:%zu " + "lfu_freq:%d lfu_access_time_minutes:%u%s", + (void*)val, val->refcount, + strenc, rdbSavedObjectLen(val, c->argv[2], c->db->id), + val->lru & 255, val->lru >> 8, extra); + } else { + addReplyStatusFormat(c, + "Value at:%p refcount:%d " + "encoding:%s serializedlength:%zu " + "lru:%d lru_seconds_idle:%llu%s", + (void*)val, val->refcount, + strenc, rdbSavedObjectLen(val, c->argv[2], c->db->id), + val->lru, estimateObjectIdleTime(val)/1000, extra); + } } else if (!strcasecmp(c->argv[1]->ptr,"sdslen") && c->argc == 3) { dictEntry *de; robj *val;