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
7e91f971
Commit
7e91f971
authored
Aug 01, 2010
by
Pieter Noordhuis
Browse files
Add support for domain sockets to redis-cli
parent
c61e6925
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/redis-cli.c
View file @
7e91f971
...
...
@@ -52,6 +52,7 @@
static
struct
config
{
char
*
hostip
;
int
hostport
;
char
*
hostsocket
;
long
repeat
;
int
dbnum
;
int
argn_from_stdin
;
...
...
@@ -72,9 +73,21 @@ static int cliConnect(void) {
static
int
fd
=
ANET_ERR
;
if
(
fd
==
ANET_ERR
)
{
fd
=
anetTcpConnect
(
err
,
config
.
hostip
,
config
.
hostport
);
if
(
config
.
hostsocket
==
NULL
)
{
fd
=
anetTcpConnect
(
err
,
config
.
hostip
,
config
.
hostport
);
}
else
{
fd
=
anetUnixConnect
(
err
,
config
.
hostsocket
);
if
(
fd
==
ANET_ERR
)
{
fprintf
(
stderr
,
"Could not connect to Redis at %s: %s"
,
config
.
hostsocket
,
err
);
return
-
1
;
}
}
if
(
fd
==
ANET_ERR
)
{
fprintf
(
stderr
,
"Could not connect to Redis at %s:%d: %s"
,
config
.
hostip
,
config
.
hostport
,
err
);
fprintf
(
stderr
,
"Could not connect to Redis at "
);
if
(
config
.
hostsocket
==
NULL
)
fprintf
(
stderr
,
"%s:%d: %s"
,
config
.
hostip
,
config
.
hostport
,
err
);
else
fprintf
(
stderr
,
"%s: %s"
,
config
.
hostsocket
,
err
);
return
-
1
;
}
anetTcpNoDelay
(
NULL
,
fd
);
...
...
@@ -304,6 +317,9 @@ static int parseOptions(int argc, char **argv) {
}
else
if
(
!
strcmp
(
argv
[
i
],
"-p"
)
&&
!
lastarg
)
{
config
.
hostport
=
atoi
(
argv
[
i
+
1
]);
i
++
;
}
else
if
(
!
strcmp
(
argv
[
i
],
"-s"
)
&&
!
lastarg
)
{
config
.
hostsocket
=
argv
[
i
+
1
];
i
++
;
}
else
if
(
!
strcmp
(
argv
[
i
],
"-r"
)
&&
!
lastarg
)
{
config
.
repeat
=
strtoll
(
argv
[
i
+
1
],
NULL
,
10
);
i
++
;
...
...
@@ -345,8 +361,8 @@ static sds readArgFromStdin(void) {
}
static
void
usage
()
{
fprintf
(
stderr
,
"usage: redis-cli [-iv] [-h host] [-p port] [-a authpw] [-r repeat_times] [-n db_num] cmd arg1 arg2 arg3 ... argN
\n
"
);
fprintf
(
stderr
,
"usage: echo
\"
argN
\"
| redis-cli -c [-h host] [-p port] [-a authpw] [-r repeat_times] [-n db_num] cmd arg1 arg2 ... arg(N-1)
\n
"
);
fprintf
(
stderr
,
"usage: redis-cli [-iv] [-h host] [-p port]
[-s /path/to/socket]
[-a authpw] [-r repeat_times] [-n db_num] cmd arg1 arg2 arg3 ... argN
\n
"
);
fprintf
(
stderr
,
"usage: echo
\"
argN
\"
| redis-cli -c [-h host] [-p port]
[-s /path/to/socket]
[-a authpw] [-r repeat_times] [-n db_num] cmd arg1 arg2 ... arg(N-1)
\n
"
);
fprintf
(
stderr
,
"
\n
If a pipe from standard input is detected this data is used as last argument.
\n\n
"
);
fprintf
(
stderr
,
"example: cat /etc/passwd | redis-cli set my_passwd
\n
"
);
fprintf
(
stderr
,
"example: redis-cli get my_passwd
\n
"
);
...
...
@@ -465,6 +481,7 @@ int main(int argc, char **argv) {
config
.
hostip
=
"127.0.0.1"
;
config
.
hostport
=
6379
;
config
.
hostsocket
=
NULL
;
config
.
repeat
=
1
;
config
.
dbnum
=
0
;
config
.
argn_from_stdin
=
0
;
...
...
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