summaryrefslogtreecommitdiff
path: root/src/object.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/object.c')
-rw-r--r--src/object.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/object.c b/src/object.c
index 8c33d7ef6..d2f8d53c5 100644
--- a/src/object.c
+++ b/src/object.c
@@ -1050,10 +1050,14 @@ void objectCommand(client *c) {
if ((o = objectCommandLookupOrReply(c,c->argv[2],shared.nullbulk))
== NULL) return;
if (!(server.maxmemory_policy & MAXMEMORY_FLAG_LFU)) {
- addReplyError(c,"A non-LFU maxmemory policy is selected, access frequency not tracked. Please note that when switching between policies at runtime LRU and LFU data will take some time to adjust.");
+ addReplyError(c,"An LFU maxmemory policy is not selected, access frequency not tracked. Please note that when switching between policies at runtime LRU and LFU data will take some time to adjust.");
return;
}
- addReplyLongLong(c,o->lru&255);
+ /* LFUDecrAndReturn should be called
+ * in case of the key has not been accessed for a long time,
+ * because we update the access time only
+ * when the key is read or overwritten. */
+ addReplyLongLong(c,LFUDecrAndReturn(o));
} else {
addReplyErrorFormat(c, "Unknown subcommand or wrong number of arguments for '%s'. Try OBJECT help",
(char *)c->argv[1]->ptr);