Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
redis
Commits
f21779ff
Commit
f21779ff
authored
Dec 19, 2010
by
antirez
Browse files
removed some dead code, added evicted keys counter separated from expired keys.
parent
9d7165e8
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/redis.c
View file @
f21779ff
...
...
@@ -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_e
xpir
edkeys
++
;
server
.
stat_e
vict
edkeys
++
;
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! ================================ */
...
...
src/redis.h
View file @
f21779ff
...
...
@@ -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 */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment