Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
别团等shy哥发育
redis
提交
f40b035d
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,发现更多精彩内容 >>
提交
f40b035d
编写于
4月 29, 2010
作者:
A
antirez
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
redis-cli INFO output format is now raw again
上级
0ce76798
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
113 addition
and
106 deletion
+113
-106
redis-cli.c
redis-cli.c
+113
-106
未找到文件。
redis-cli.c
浏览文件 @
f40b035d
...
...
@@ -56,120 +56,125 @@ static struct config {
int
interactive
;
int
monitor_mode
;
int
pubsub_mode
;
int
raw_output
;
char
*
auth
;
}
config
;
struct
redisCommand
{
char
*
name
;
int
arity
;
int
flags
;
};
#define CMDFLAG_NONE 0
#define CMDFLAG_RAWOUTPUT 1
static
struct
redisCommand
cmdTable
[]
=
{
{
"auth"
,
2
},
{
"get"
,
2
},
{
"set"
,
3
},
{
"setnx"
,
3
},
{
"setex"
,
4
},
{
"append"
,
3
},
{
"substr"
,
4
},
{
"del"
,
-
2
},
{
"exists"
,
2
},
{
"incr"
,
2
},
{
"decr"
,
2
},
{
"rpush"
,
3
},
{
"lpush"
,
3
},
{
"rpop"
,
2
},
{
"lpop"
,
2
},
{
"brpop"
,
-
3
},
{
"blpop"
,
-
3
},
{
"llen"
,
2
},
{
"lindex"
,
3
},
{
"lset"
,
4
},
{
"lrange"
,
4
},
{
"ltrim"
,
4
},
{
"lrem"
,
4
},
{
"rpoplpush"
,
3
},
{
"sadd"
,
3
},
{
"srem"
,
3
},
{
"smove"
,
4
},
{
"sismember"
,
3
},
{
"scard"
,
2
},
{
"spop"
,
2
},
{
"srandmember"
,
2
},
{
"sinter"
,
-
2
},
{
"sinterstore"
,
-
3
},
{
"sunion"
,
-
2
},
{
"sunionstore"
,
-
3
},
{
"sdiff"
,
-
2
},
{
"sdiffstore"
,
-
3
},
{
"smembers"
,
2
},
{
"zadd"
,
4
},
{
"zincrby"
,
4
},
{
"zrem"
,
3
},
{
"zremrangebyscore"
,
4
},
{
"zmerge"
,
-
3
},
{
"zmergeweighed"
,
-
4
},
{
"zrange"
,
-
4
},
{
"zrank"
,
3
},
{
"zrevrank"
,
3
},
{
"zrangebyscore"
,
-
4
},
{
"zcount"
,
4
},
{
"zrevrange"
,
-
4
},
{
"zcard"
,
2
},
{
"zscore"
,
3
},
{
"incrby"
,
3
},
{
"decrby"
,
3
},
{
"getset"
,
3
},
{
"randomkey"
,
1
},
{
"select"
,
2
},
{
"move"
,
3
},
{
"rename"
,
3
},
{
"renamenx"
,
3
},
{
"keys"
,
2
},
{
"dbsize"
,
1
},
{
"ping"
,
1
},
{
"echo"
,
2
},
{
"save"
,
1
},
{
"bgsave"
,
1
},
{
"rewriteaof"
,
1
},
{
"bgrewriteaof"
,
1
},
{
"shutdown"
,
1
},
{
"lastsave"
,
1
},
{
"type"
,
2
},
{
"flushdb"
,
1
},
{
"flushall"
,
1
},
{
"sort"
,
-
2
},
{
"info"
,
1
},
{
"mget"
,
-
2
},
{
"expire"
,
3
},
{
"expireat"
,
3
},
{
"ttl"
,
2
},
{
"slaveof"
,
3
},
{
"debug"
,
-
2
},
{
"mset"
,
-
3
},
{
"msetnx"
,
-
3
},
{
"monitor"
,
1
},
{
"multi"
,
1
},
{
"exec"
,
1
},
{
"discard"
,
1
},
{
"hset"
,
4
},
{
"hget"
,
3
},
{
"hmset"
,
-
4
},
{
"hmget"
,
-
3
},
{
"hincrby"
,
4
},
{
"hdel"
,
3
},
{
"hlen"
,
2
},
{
"hkeys"
,
2
},
{
"hvals"
,
2
},
{
"hgetall"
,
2
},
{
"hexists"
,
3
},
{
"config"
,
-
2
},
{
"subscribe"
,
-
2
},
{
"unsubscribe"
,
-
1
},
{
"psubscribe"
,
-
2
},
{
"punsubscribe"
,
-
1
},
{
"publish"
,
3
},
{
NULL
,
0
}
{
"auth"
,
2
,
CMDFLAG_NONE
},
{
"get"
,
2
,
CMDFLAG_NONE
},
{
"set"
,
3
,
CMDFLAG_NONE
},
{
"setnx"
,
3
,
CMDFLAG_NONE
},
{
"setex"
,
4
,
CMDFLAG_NONE
},
{
"append"
,
3
,
CMDFLAG_NONE
},
{
"substr"
,
4
,
CMDFLAG_NONE
},
{
"del"
,
-
2
,
CMDFLAG_NONE
},
{
"exists"
,
2
,
CMDFLAG_NONE
},
{
"incr"
,
2
,
CMDFLAG_NONE
},
{
"decr"
,
2
,
CMDFLAG_NONE
},
{
"rpush"
,
3
,
CMDFLAG_NONE
},
{
"lpush"
,
3
,
CMDFLAG_NONE
},
{
"rpop"
,
2
,
CMDFLAG_NONE
},
{
"lpop"
,
2
,
CMDFLAG_NONE
},
{
"brpop"
,
-
3
,
CMDFLAG_NONE
},
{
"blpop"
,
-
3
,
CMDFLAG_NONE
},
{
"llen"
,
2
,
CMDFLAG_NONE
},
{
"lindex"
,
3
,
CMDFLAG_NONE
},
{
"lset"
,
4
,
CMDFLAG_NONE
},
{
"lrange"
,
4
,
CMDFLAG_NONE
},
{
"ltrim"
,
4
,
CMDFLAG_NONE
},
{
"lrem"
,
4
,
CMDFLAG_NONE
},
{
"rpoplpush"
,
3
,
CMDFLAG_NONE
},
{
"sadd"
,
3
,
CMDFLAG_NONE
},
{
"srem"
,
3
,
CMDFLAG_NONE
},
{
"smove"
,
4
,
CMDFLAG_NONE
},
{
"sismember"
,
3
,
CMDFLAG_NONE
},
{
"scard"
,
2
,
CMDFLAG_NONE
},
{
"spop"
,
2
,
CMDFLAG_NONE
},
{
"srandmember"
,
2
,
CMDFLAG_NONE
},
{
"sinter"
,
-
2
,
CMDFLAG_NONE
},
{
"sinterstore"
,
-
3
,
CMDFLAG_NONE
},
{
"sunion"
,
-
2
,
CMDFLAG_NONE
},
{
"sunionstore"
,
-
3
,
CMDFLAG_NONE
},
{
"sdiff"
,
-
2
,
CMDFLAG_NONE
},
{
"sdiffstore"
,
-
3
,
CMDFLAG_NONE
},
{
"smembers"
,
2
,
CMDFLAG_NONE
},
{
"zadd"
,
4
,
CMDFLAG_NONE
},
{
"zincrby"
,
4
,
CMDFLAG_NONE
},
{
"zrem"
,
3
,
CMDFLAG_NONE
},
{
"zremrangebyscore"
,
4
,
CMDFLAG_NONE
},
{
"zmerge"
,
-
3
,
CMDFLAG_NONE
},
{
"zmergeweighed"
,
-
4
,
CMDFLAG_NONE
},
{
"zrange"
,
-
4
,
CMDFLAG_NONE
},
{
"zrank"
,
3
,
CMDFLAG_NONE
},
{
"zrevrank"
,
3
,
CMDFLAG_NONE
},
{
"zrangebyscore"
,
-
4
,
CMDFLAG_NONE
},
{
"zcount"
,
4
,
CMDFLAG_NONE
},
{
"zrevrange"
,
-
4
,
CMDFLAG_NONE
},
{
"zcard"
,
2
,
CMDFLAG_NONE
},
{
"zscore"
,
3
,
CMDFLAG_NONE
},
{
"incrby"
,
3
,
CMDFLAG_NONE
},
{
"decrby"
,
3
,
CMDFLAG_NONE
},
{
"getset"
,
3
,
CMDFLAG_NONE
},
{
"randomkey"
,
1
,
CMDFLAG_NONE
},
{
"select"
,
2
,
CMDFLAG_NONE
},
{
"move"
,
3
,
CMDFLAG_NONE
},
{
"rename"
,
3
,
CMDFLAG_NONE
},
{
"renamenx"
,
3
,
CMDFLAG_NONE
},
{
"keys"
,
2
,
CMDFLAG_NONE
},
{
"dbsize"
,
1
,
CMDFLAG_NONE
},
{
"ping"
,
1
,
CMDFLAG_NONE
},
{
"echo"
,
2
,
CMDFLAG_NONE
},
{
"save"
,
1
,
CMDFLAG_NONE
},
{
"bgsave"
,
1
,
CMDFLAG_NONE
},
{
"rewriteaof"
,
1
,
CMDFLAG_NONE
},
{
"bgrewriteaof"
,
1
,
CMDFLAG_NONE
},
{
"shutdown"
,
1
,
CMDFLAG_NONE
},
{
"lastsave"
,
1
,
CMDFLAG_NONE
},
{
"type"
,
2
,
CMDFLAG_NONE
},
{
"flushdb"
,
1
,
CMDFLAG_NONE
},
{
"flushall"
,
1
,
CMDFLAG_NONE
},
{
"sort"
,
-
2
,
CMDFLAG_NONE
},
{
"info"
,
1
,
CMDFLAG_RAWOUTPUT
},
{
"mget"
,
-
2
,
CMDFLAG_NONE
},
{
"expire"
,
3
,
CMDFLAG_NONE
},
{
"expireat"
,
3
,
CMDFLAG_NONE
},
{
"ttl"
,
2
,
CMDFLAG_NONE
},
{
"slaveof"
,
3
,
CMDFLAG_NONE
},
{
"debug"
,
-
2
,
CMDFLAG_NONE
},
{
"mset"
,
-
3
,
CMDFLAG_NONE
},
{
"msetnx"
,
-
3
,
CMDFLAG_NONE
},
{
"monitor"
,
1
,
CMDFLAG_NONE
},
{
"multi"
,
1
,
CMDFLAG_NONE
},
{
"exec"
,
1
,
CMDFLAG_NONE
},
{
"discard"
,
1
,
CMDFLAG_NONE
},
{
"hset"
,
4
,
CMDFLAG_NONE
},
{
"hget"
,
3
,
CMDFLAG_NONE
},
{
"hmset"
,
-
4
,
CMDFLAG_NONE
},
{
"hmget"
,
-
3
,
CMDFLAG_NONE
},
{
"hincrby"
,
4
,
CMDFLAG_NONE
},
{
"hdel"
,
3
,
CMDFLAG_NONE
},
{
"hlen"
,
2
,
CMDFLAG_NONE
},
{
"hkeys"
,
2
,
CMDFLAG_NONE
},
{
"hvals"
,
2
,
CMDFLAG_NONE
},
{
"hgetall"
,
2
,
CMDFLAG_NONE
},
{
"hexists"
,
3
,
CMDFLAG_NONE
},
{
"config"
,
-
2
,
CMDFLAG_NONE
},
{
"subscribe"
,
-
2
,
CMDFLAG_NONE
},
{
"unsubscribe"
,
-
1
,
CMDFLAG_NONE
},
{
"psubscribe"
,
-
2
,
CMDFLAG_NONE
},
{
"punsubscribe"
,
-
1
,
CMDFLAG_NONE
},
{
"publish"
,
3
,
CMDFLAG_NONE
},
{
NULL
,
0
,
CMDFLAG_NONE
}
};
static
int
cliReadReply
(
int
fd
);
...
...
@@ -269,7 +274,7 @@ static int cliReadBulkReply(int fd) {
reply
=
zmalloc
(
bulklen
);
anetRead
(
fd
,
reply
,
bulklen
);
anetRead
(
fd
,
crlf
,
2
);
if
(
!
isatty
(
fileno
(
stdout
)))
{
if
(
config
.
raw_output
||
!
isatty
(
fileno
(
stdout
)))
{
if
(
bulklen
&&
fwrite
(
reply
,
bulklen
,
1
,
stdout
)
==
0
)
{
zfree
(
reply
);
return
1
;
...
...
@@ -354,6 +359,7 @@ static int cliSendCommand(int argc, char **argv, int repeat) {
int
fd
,
j
,
retval
=
0
;
sds
cmd
;
config
.
raw_output
=
(
rc
->
flags
&
CMDFLAG_RAWOUTPUT
);
if
(
!
rc
)
{
fprintf
(
stderr
,
"Unknown command '%s'
\n
"
,
argv
[
0
]);
return
1
;
...
...
@@ -588,6 +594,7 @@ int main(int argc, char **argv) {
config
.
interactive
=
0
;
config
.
monitor_mode
=
0
;
config
.
pubsub_mode
=
0
;
config
.
raw_output
=
0
;
config
.
auth
=
NULL
;
firstarg
=
parseOptions
(
argc
,
argv
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录