summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2010-12-19 15:15:08 +0100
committerantirez <antirez@gmail.com>2010-12-19 15:15:08 +0100
commitf21779ff36947fe22e6fc3f00d4bd73185557190 (patch)
tree33467975f7c03d43cd005dd561a86fbc40e3d9cb /src
parent9d7165e885b3de44577dea2917bb4f3afa2ed335 (diff)
downloadredis-f21779ff36947fe22e6fc3f00d4bd73185557190.tar.gz
removed some dead code, added evicted keys counter separated from expired keys.
Diffstat (limited to 'src')
-rw-r--r--src/redis.c36
-rw-r--r--src/redis.h1
2 files changed, 5 insertions, 32 deletions
diff --git a/src/redis.c b/src/redis.c
index fb6eb4694..6e667f29a 100644
--- a/src/redis.c
+++ b/src/redis.c
@@ -891,6 +891,7 @@ void initServer() {
server.stat_numcommands = 0;
server.stat_numconnections = 0;
server.stat_expiredkeys = 0;
+ server.stat_evictedkeys = 0;
server.stat_starttime = time(NULL);
server.stat_keyspace_misses = 0;
server.stat_keyspace_hits = 0;
@@ -1177,6 +1178,7 @@ sds genRedisInfoString(void) {
"total_connections_received:%lld\r\n"
"total_commands_processed:%lld\r\n"
"expired_keys:%lld\r\n"
+ "evicted_keys:%lld\r\n"
"keyspace_hits:%lld\r\n"
"keyspace_misses:%lld\r\n"
"hash_max_zipmap_entries:%zu\r\n"
@@ -1219,6 +1221,7 @@ sds genRedisInfoString(void) {
server.stat_numconnections,
server.stat_numcommands,
server.stat_expiredkeys,
+ server.stat_evictedkeys,
server.stat_keyspace_hits,
server.stat_keyspace_misses,
server.hash_max_zipmap_entries,
@@ -1436,44 +1439,13 @@ void freeMemoryIfNeeded(void) {
if (bestkey) {
robj *keyobj = createStringObject(bestkey,sdslen(bestkey));
dbDelete(db,keyobj);
- server.stat_expiredkeys++;
+ server.stat_evictedkeys++;
decrRefCount(keyobj);
freed++;
}
}
if (!freed) return; /* nothing to free... */
}
-
- while(0) {
- int j, k, freed = 0;
- for (j = 0; j < server.dbnum; j++) {
- int minttl = -1;
- sds minkey = NULL;
- robj *keyobj = NULL;
- struct dictEntry *de;
-
- if (dictSize(server.db[j].expires)) {
- freed = 1;
- /* From a sample of three keys drop the one nearest to
- * the natural expire */
- for (k = 0; k < 3; k++) {
- time_t t;
-
- de = dictGetRandomKey(server.db[j].expires);
- t = (time_t) dictGetEntryVal(de);
- if (minttl == -1 || t < minttl) {
- minkey = dictGetEntryKey(de);
- minttl = t;
- }
- }
- keyobj = createStringObject(minkey,sdslen(minkey));
- dbDelete(server.db+j,keyobj);
- server.stat_expiredkeys++;
- decrRefCount(keyobj);
- }
- }
- if (!freed) return; /* nothing to free... */
- }
}
/* =================================== Main! ================================ */
diff --git a/src/redis.h b/src/redis.h
index 8495a87e5..bc1a58c17 100644
--- a/src/redis.h
+++ b/src/redis.h
@@ -387,6 +387,7 @@ struct redisServer {
long long stat_numcommands; /* number of processed commands */
long long stat_numconnections; /* number of connections received */
long long stat_expiredkeys; /* number of expired keys */
+ long long stat_evictedkeys; /* number of evicted keys (maxmemory) */
long long stat_keyspace_hits; /* number of successful lookups of keys */
long long stat_keyspace_misses; /* number of failed lookups of keys */
/* Configuration */