Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xindoo
redis
提交
dd889d88
R
redis
项目概览
xindoo
/
redis
通知
2
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
redis
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
dd889d88
编写于
12月 19, 2010
作者:
A
antirez
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
removed some dead code, added evicted keys counter separated from expired keys.
上级
1443a814
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
5 addition
and
32 deletion
+5
-32
src/redis.c
src/redis.c
+4
-32
src/redis.h
src/redis.h
+1
-0
未找到文件。
src/redis.c
浏览文件 @
dd889d88
...
...
@@ -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
浏览文件 @
dd889d88
...
...
@@ -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 */
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录