Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
别团等shy哥发育
redis
提交
0823e48f
R
redis
项目概览
别团等shy哥发育
/
redis
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
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,发现更多精彩内容 >>
提交
0823e48f
编写于
3月 08, 2012
作者:
A
antirez
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Support for all the redis.conf fields in CONFIG GET. config.c refactored a bit.
上级
91d664d6
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
108 addition
and
111 deletion
+108
-111
src/config.c
src/config.c
+108
-111
未找到文件。
src/config.c
浏览文件 @
0823e48f
...
...
@@ -614,6 +614,12 @@ void configSetCommand(redisClient *c) {
if
(
yn
==
-
1
)
goto
badfmt
;
server
.
stop_writes_on_bgsave_err
=
yn
;
}
else
if
(
!
strcasecmp
(
c
->
argv
[
2
]
->
ptr
,
"repl-ping-slave-period"
))
{
if
(
getLongLongFromObject
(
o
,
&
ll
)
==
REDIS_ERR
||
ll
<=
0
)
goto
badfmt
;
server
.
repl_ping_slave_period
=
ll
;
}
else
if
(
!
strcasecmp
(
c
->
argv
[
2
]
->
ptr
,
"repl-timeout"
))
{
if
(
getLongLongFromObject
(
o
,
&
ll
)
==
REDIS_ERR
||
ll
<=
0
)
goto
badfmt
;
server
.
repl_timeout
=
ll
;
}
else
{
addReplyErrorFormat
(
c
,
"Unsupported CONFIG parameter: %s"
,
(
char
*
)
c
->
argv
[
2
]
->
ptr
);
...
...
@@ -628,6 +634,31 @@ badfmt: /* Bad format errors */
(
char
*
)
c
->
argv
[
2
]
->
ptr
);
}
#define config_get_string_field(_name,_var) do { \
if (stringmatch(pattern,_name,0)) { \
addReplyBulkCString(c,_name); \
addReplyBulkCString(c,_var ? _var : ""); \
matches++; \
} \
} while(0);
#define config_get_bool_field(_name,_var) do { \
if (stringmatch(pattern,_name,0)) { \
addReplyBulkCString(c,_name); \
addReplyBulkCString(c,_var ? "yes" : "no"); \
matches++; \
} \
} while(0);
#define config_get_numerical_field(_name,_var) do { \
if (stringmatch(pattern,_name,0)) { \
ll2string(buf,sizeof(buf),_var); \
addReplyBulkCString(c,_name); \
addReplyBulkCString(c,buf); \
matches++; \
} \
} while(0);
void
configGetCommand
(
redisClient
*
c
)
{
robj
*
o
=
c
->
argv
[
2
];
void
*
replylen
=
addDeferredMultiBulkLength
(
c
);
...
...
@@ -636,6 +667,66 @@ void configGetCommand(redisClient *c) {
int
matches
=
0
;
redisAssertWithInfo
(
c
,
o
,
o
->
encoding
==
REDIS_ENCODING_RAW
);
/* String values */
config_get_string_field
(
"dbfilename"
,
server
.
rdb_filename
);
config_get_string_field
(
"requirepass"
,
server
.
requirepass
);
config_get_string_field
(
"masterauth"
,
server
.
requirepass
);
config_get_string_field
(
"bind"
,
server
.
bindaddr
);
config_get_string_field
(
"unixsocket"
,
server
.
unixsocket
);
config_get_string_field
(
"logfile"
,
server
.
logfile
);
config_get_string_field
(
"pidfile"
,
server
.
pidfile
);
/* Numerical values */
config_get_numerical_field
(
"maxmemory"
,
server
.
maxmemory
);
config_get_numerical_field
(
"maxmemory-samples"
,
server
.
maxmemory_samples
);
config_get_numerical_field
(
"timeout"
,
server
.
maxidletime
);
config_get_numerical_field
(
"auto-aof-rewrite-percentage"
,
server
.
aof_rewrite_perc
);
config_get_numerical_field
(
"auto-aof-rewrite-min-size"
,
server
.
aof_rewrite_min_size
);
config_get_numerical_field
(
"hash-max-zipmap-entries"
,
server
.
hash_max_zipmap_entries
);
config_get_numerical_field
(
"hash-max-zipmap-value"
,
server
.
hash_max_zipmap_value
);
config_get_numerical_field
(
"list-max-ziplist-entries"
,
server
.
list_max_ziplist_entries
);
config_get_numerical_field
(
"list-max-ziplist-value"
,
server
.
list_max_ziplist_value
);
config_get_numerical_field
(
"set-max-intset-entries"
,
server
.
set_max_intset_entries
);
config_get_numerical_field
(
"zset-max-ziplist-entries"
,
server
.
zset_max_ziplist_entries
);
config_get_numerical_field
(
"zset-max-ziplist-value"
,
server
.
zset_max_ziplist_value
);
config_get_numerical_field
(
"lua-time-limit"
,
server
.
lua_time_limit
);
config_get_numerical_field
(
"slowlog-log-slower-than"
,
server
.
slowlog_log_slower_than
);
config_get_numerical_field
(
"slowlog-max-len"
,
server
.
slowlog_max_len
);
config_get_numerical_field
(
"port"
,
server
.
port
);
config_get_numerical_field
(
"databases"
,
server
.
dbnum
);
config_get_numerical_field
(
"repl-ping-slave-period"
,
server
.
repl_ping_slave_period
);
config_get_numerical_field
(
"repl-timeout"
,
server
.
repl_timeout
);
config_get_numerical_field
(
"maxclients"
,
server
.
maxclients
);
/* Bool (yes/no) values */
config_get_bool_field
(
"no-appendfsync-on-rewrite"
,
server
.
aof_no_fsync_on_rewrite
);
config_get_bool_field
(
"slave-serve-stale-data"
,
server
.
repl_serve_stale_data
);
config_get_bool_field
(
"stop-writes-on-bgsave-error"
,
server
.
stop_writes_on_bgsave_err
);
config_get_bool_field
(
"daemonize"
,
server
.
daemonize
);
config_get_bool_field
(
"rdbcompression"
,
server
.
rdb_compression
);
config_get_bool_field
(
"activerehashing"
,
server
.
activerehashing
);
/* Everything we can't handle with macros follows. */
if
(
stringmatch
(
pattern
,
"appendonly"
,
0
))
{
addReplyBulkCString
(
c
,
"appendonly"
);
addReplyBulkCString
(
c
,
server
.
aof_state
==
REDIS_AOF_OFF
?
"no"
:
"yes"
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"dir"
,
0
))
{
char
buf
[
1024
];
...
...
@@ -646,27 +737,6 @@ void configGetCommand(redisClient *c) {
addReplyBulkCString
(
c
,
buf
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"dbfilename"
,
0
))
{
addReplyBulkCString
(
c
,
"dbfilename"
);
addReplyBulkCString
(
c
,
server
.
rdb_filename
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"requirepass"
,
0
))
{
addReplyBulkCString
(
c
,
"requirepass"
);
addReplyBulkCString
(
c
,
server
.
requirepass
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"masterauth"
,
0
))
{
addReplyBulkCString
(
c
,
"masterauth"
);
addReplyBulkCString
(
c
,
server
.
masterauth
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"maxmemory"
,
0
))
{
ll2string
(
buf
,
sizeof
(
buf
),
server
.
maxmemory
);
addReplyBulkCString
(
c
,
"maxmemory"
);
addReplyBulkCString
(
c
,
buf
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"maxmemory-policy"
,
0
))
{
char
*
s
;
...
...
@@ -683,28 +753,6 @@ void configGetCommand(redisClient *c) {
addReplyBulkCString
(
c
,
s
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"maxmemory-samples"
,
0
))
{
ll2string
(
buf
,
sizeof
(
buf
),
server
.
maxmemory_samples
);
addReplyBulkCString
(
c
,
"maxmemory-samples"
);
addReplyBulkCString
(
c
,
buf
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"timeout"
,
0
))
{
ll2string
(
buf
,
sizeof
(
buf
),
server
.
maxidletime
);
addReplyBulkCString
(
c
,
"timeout"
);
addReplyBulkCString
(
c
,
buf
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"appendonly"
,
0
))
{
addReplyBulkCString
(
c
,
"appendonly"
);
addReplyBulkCString
(
c
,
server
.
aof_state
==
REDIS_AOF_OFF
?
"no"
:
"yes"
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"no-appendfsync-on-rewrite"
,
0
))
{
addReplyBulkCString
(
c
,
"no-appendfsync-on-rewrite"
);
addReplyBulkCString
(
c
,
server
.
aof_no_fsync_on_rewrite
?
"yes"
:
"no"
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"appendfsync"
,
0
))
{
char
*
policy
;
...
...
@@ -734,71 +782,6 @@ void configGetCommand(redisClient *c) {
sdsfree
(
buf
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"auto-aof-rewrite-percentage"
,
0
))
{
addReplyBulkCString
(
c
,
"auto-aof-rewrite-percentage"
);
addReplyBulkLongLong
(
c
,
server
.
aof_rewrite_perc
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"auto-aof-rewrite-min-size"
,
0
))
{
addReplyBulkCString
(
c
,
"auto-aof-rewrite-min-size"
);
addReplyBulkLongLong
(
c
,
server
.
aof_rewrite_min_size
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"slave-serve-stale-data"
,
0
))
{
addReplyBulkCString
(
c
,
"slave-serve-stale-data"
);
addReplyBulkCString
(
c
,
server
.
repl_serve_stale_data
?
"yes"
:
"no"
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"hash-max-zipmap-entries"
,
0
))
{
addReplyBulkCString
(
c
,
"hash-max-zipmap-entries"
);
addReplyBulkLongLong
(
c
,
server
.
hash_max_zipmap_entries
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"hash-max-zipmap-value"
,
0
))
{
addReplyBulkCString
(
c
,
"hash-max-zipmap-value"
);
addReplyBulkLongLong
(
c
,
server
.
hash_max_zipmap_value
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"list-max-ziplist-entries"
,
0
))
{
addReplyBulkCString
(
c
,
"list-max-ziplist-entries"
);
addReplyBulkLongLong
(
c
,
server
.
list_max_ziplist_entries
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"list-max-ziplist-value"
,
0
))
{
addReplyBulkCString
(
c
,
"list-max-ziplist-value"
);
addReplyBulkLongLong
(
c
,
server
.
list_max_ziplist_value
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"set-max-intset-entries"
,
0
))
{
addReplyBulkCString
(
c
,
"set-max-intset-entries"
);
addReplyBulkLongLong
(
c
,
server
.
set_max_intset_entries
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"zset-max-ziplist-entries"
,
0
))
{
addReplyBulkCString
(
c
,
"zset-max-ziplist-entries"
);
addReplyBulkLongLong
(
c
,
server
.
zset_max_ziplist_entries
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"zset-max-ziplist-value"
,
0
))
{
addReplyBulkCString
(
c
,
"zset-max-ziplist-value"
);
addReplyBulkLongLong
(
c
,
server
.
zset_max_ziplist_value
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"lua-time-limit"
,
0
))
{
addReplyBulkCString
(
c
,
"lua-time-limit"
);
addReplyBulkLongLong
(
c
,
server
.
lua_time_limit
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"slowlog-log-slower-than"
,
0
))
{
addReplyBulkCString
(
c
,
"slowlog-log-slower-than"
);
addReplyBulkLongLong
(
c
,
server
.
slowlog_log_slower_than
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"slowlog-max-len"
,
0
))
{
addReplyBulkCString
(
c
,
"slowlog-max-len"
);
addReplyBulkLongLong
(
c
,
server
.
slowlog_max_len
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"loglevel"
,
0
))
{
char
*
s
;
...
...
@@ -831,9 +814,23 @@ void configGetCommand(redisClient *c) {
sdsfree
(
buf
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"stop-writes-on-bgsave-error"
,
0
))
{
addReplyBulkCString
(
c
,
"stop-writes-on-bgsave-error"
);
addReplyBulkCString
(
c
,
server
.
stop_writes_on_bgsave_err
?
"yes"
:
"no"
);
if
(
stringmatch
(
pattern
,
"unixsocketperm"
,
0
))
{
char
buf
[
32
];
snprintf
(
buf
,
sizeof
(
buf
),
"%o"
,
server
.
unixsocketperm
);
addReplyBulkCString
(
c
,
"unixsocketperm"
);
addReplyBulkCString
(
c
,
buf
);
matches
++
;
}
if
(
stringmatch
(
pattern
,
"slaveof"
,
0
))
{
char
buf
[
256
];
addReplyBulkCString
(
c
,
"slaveof"
);
if
(
server
.
masterhost
)
snprintf
(
buf
,
sizeof
(
buf
),
"%s %d"
,
server
.
masterhost
,
server
.
masterport
);
else
buf
[
0
]
=
'\0'
;
addReplyBulkCString
(
c
,
buf
);
matches
++
;
}
setDeferredMultiBulkLength
(
c
,
replylen
,
matches
*
2
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录