summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2012-02-01 21:47:41 +0100
committerantirez <antirez@gmail.com>2012-02-02 09:51:11 +0100
commit29b3794231d5670a587fd42bec8061eb29e57023 (patch)
treefb73c0ffbf7beb318aeb31bc5839964fadfe466c
parent58bfbd1fa42ca7121a9dcff18d77b133ae5570c2 (diff)
downloadredis-29b3794231d5670a587fd42bec8061eb29e57023.tar.gz
Only incremnet stats for key miss/hit when the key is semantically accessed in read-only.
-rw-r--r--src/db.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/db.c b/src/db.c
index d36d5c959..94003ba3d 100644
--- a/src/db.c
+++ b/src/db.c
@@ -37,17 +37,22 @@ robj *lookupKey(redisDb *db, robj *key) {
if (notify) handleClientsBlockedOnSwappedKey(db,key);
}
}
- server.stat_keyspace_hits++;
return val;
} else {
- server.stat_keyspace_misses++;
return NULL;
}
}
robj *lookupKeyRead(redisDb *db, robj *key) {
+ robj *val;
+
expireIfNeeded(db,key);
- return lookupKey(db,key);
+ val = lookupKey(db,key);
+ if (val == NULL)
+ server.stat_keyspace_misses++;
+ else
+ server.stat_keyspace_hits++;
+ return val;
}
robj *lookupKeyWrite(redisDb *db, robj *key) {