304 Commits

Author SHA1 Message Date
antirez
bbce753f0a redis-cli --latency: ability to run non interactively.
This feature was proposed by @rosmo in PR #2643 and later redesigned
in order to fit better with the other options for non-interactive modes
of redis-cli. The idea is basically to allow to collect latency
information in scripts, cron jobs or whateever, just running for a
limited time and then producing a single output.
2017-06-30 15:41:58 +02:00
Salvatore Sanfilippo
c1aec3efcd Merge pull request #3659 from cbgbt/cli-elapsed
cli: Only print elapsed time on OUTPUT_STANDARD.
2017-06-20 16:53:56 +02:00
antirez
62b58a7213 redis-cli --bigkeys: show error when TYPE fails.
Close #3993.
2017-05-15 11:22:28 +02:00
Jan-Erik Rediger
b24188271e Initialize help only in repl mode 2017-01-08 18:29:22 +01:00
Yossi Gottlieb
24934e43d7 Fix redis-cli rare crash.
This happens if the server (mysteriously) returns an unexpected response
to the COMMAND command.
2016-12-12 20:18:40 +02:00
cbgbt
9d7756db96 cli: Only print elapsed time on OUTPUT_STANDARD 2016-12-02 20:59:33 -08:00
antirez
0a82c7c275 redis-cli typo fixed: perferences -> preferences.
Thanks to @qiaodaimadelaowang for signaling the issue.
Close #3585.
2016-11-02 15:15:49 +01:00
jybaek
55642839f0 Add missing fclose() 2016-10-28 10:42:54 +09:00
jybaek
b0ab71a79e Remove Duplicate Processing 2016-10-13 15:17:07 +09:00
antirez
e8ee32fcd6 redis-cli: "allocator-stats" -> "malloc-stats".
It was changed in Redis but not in redis-cli.
Thanks to @oranagra for signaling.
2016-09-19 09:47:35 +02:00
antirez
6249fdc544 MEMORY DOCTOR initial implementation. 2016-09-16 16:36:53 +02:00
antirez
9dce1c8dcd Memory related subcommands of DEBUG moved to MEMORY. 2016-09-16 10:26:23 +02:00
antirez
5a84f2aac1 redis-cli LRU test mode: randomize value of key when setting.
This way it is possible from an observer to tell when the key is
replaced with a new one having the same name.
2016-07-18 10:56:47 +02:00
antirez
74cd193691 redis-cli LRU test mode: remove newline from key names. 2016-07-18 10:53:02 +02:00
antirez
aee72b7aa4 redis-cli: check SELECT reply type just in state updated.
In issues #3361 / #3365 a problem was reported / fixed with redis-cli
not updating correctly the current DB on error after SELECT.

In theory this bug was fixed in 99d1ee8e, but actually the commit only
fixed the prompt updating, not the fact the state was set in a wrong
way.

This commit removes the check in the prompt update, now that hopefully
it is the state that is correct, there is no longer need for this check.
2016-07-05 15:18:40 +02:00
sskorgal
81f9cf966f Fix for redis_cli printing default DB when select command fails. 2016-07-01 10:42:22 +05:30
antirez
b5230dfb74 redis-cli: really connect to the right server.
I recently introduced populating the autocomplete help array with the
COMMAND command if available. However this was performed before parsing
the arguments, defaulting to instance 6379. After the connection is
performed it remains stable.

The effect is that if there is an instance running on port 6339,
whatever port you specify is ignored and 6379 is connected to instead.
The right port will be selected only after a reconnection.

Close #3314.
2016-06-16 17:23:31 +02:00
Jan-Erik Rediger
766eeb5459 Remove debug printing 2016-05-21 13:50:01 +02:00
antirez
a5dcecd730 redis-cli: integrate help.h with COMMAND output.
Use the COMMAND output to fill with partial information the built-in
help. This makes redis-cli able to at least complete commands that are
exported by the Redis server it is connected to, but were not available
in the help.h file when the redis-cli binary was compiled.
2016-05-07 13:03:25 +02:00
antirez
577a9ce035 redis-cli: remove debugging message. 2016-05-05 18:05:37 +02:00
Salvatore Sanfilippo
4a33213cdb Merge pull request #3008 from badboy/fix-2911
Fix nanosecond conversion
2016-05-05 16:21:21 +02:00
antirez
4fe2256ca3 redis-cli: don't free historyfile, is used later. 2016-05-05 13:58:06 +02:00
Salvatore Sanfilippo
96b8e2868a Merge pull request #3077 from Palethorn/ipv6-redirect-parse
Fix for #3076 Reverse redirect address parse
2016-05-05 10:13:00 +02:00
antirez
519f65b51e Minor redis-cli wording change in --help output. 2016-05-04 22:34:26 +02:00
Oran Agra
5f47a16c14 add DEBUG JEMALLC PURGE and JEMALLOC INFO cleanup 2016-04-25 16:47:42 +03:00
antirez
92a7c777b6 redis-cli preferences and rc file support. 2016-04-13 14:20:41 +02:00
antirez
8b20c65419 redis-cli hints. 2016-04-13 12:34:14 +02:00
David Cavar
5174fcdf94 Reverse redirect address parse
Fix issue in case the redirect address is in ipv6 format. Parse from behind to extract last part of the response which represents actual port.
2016-02-09 15:04:42 +01:00
Jan-Erik Rediger
70dafcfd9d Fix nanosecond conversion
1 microsecond = 1000 nanoseconds
1e3 = 1000
10e3 = 10000
2016-01-13 10:22:29 -07:00
antirez
3230171ab5 Lua debugger: support direct calls to SCRIPT DEBUG in redis-cli.
Previously it was possible to activate a debugging session only using
the --ldb option in redis-cli. Now calling SCRIPT DEBUG can also
activate the debugging mode without putting the redis-cli in a
desynchronized state.

Related to #2952.
2016-01-08 09:43:16 +01:00
antirez
6990638623 fix sprintf and snprintf format string
There are some cases of printing unsigned integer with %d conversion
specificator and vice versa (signed integer with %u specificator).

Patch by Sergey Polovko. Backported to Redis from Disque.
2015-11-28 09:05:41 +01:00
antirez
9e0ad3382a Lua debugger: redis-cli: allow restart after end of session. 2015-11-17 15:43:24 +01:00
antirez
5d2a9bd353 Lua debugger: redis-cli can restart Lua debugging sessions. 2015-11-17 15:43:24 +01:00
antirez
57f51983b1 Lua debugger: maxlen command implemented.
Let the user control the replies truncation.
2015-11-17 15:43:24 +01:00
antirez
94c98e0d21 Lua debugger: redis-cli: show compile errors in LDB mode. 2015-11-17 15:43:24 +01:00
antirez
c5740bdb22 Lua debugger: redis-cli error when --ldb is without --eval.
Otherwise the result is a messed CLI without prompt.
Thanks to Itamar Haber for reporting this issue.
2015-11-17 15:43:23 +01:00
antirez
e88759f742 Lua debugger: use sds_malloc() to allocate eval cli array.
Redis-cli handles the debugger "eval" command in a special way since
sdssplitargs() would not be ok: we need to send the Redis debugger the
whole Lua script without any parsing. However in order to later free the
argument vector inside redis-cli using just sdsfreesplitres(), we need
to allocate the array of SDS pointers using the same allocator SDS is
using, that may differ to what Redis is using.

So now a newer version of SDS exports sds_malloc() and other allocator
functions to give access, to the program it is linked to, the allocator
used internally by SDS.
2015-11-17 15:43:23 +01:00
antirez
2f64b9d5d8 Lua debugger: better support for synchronous mode. 2015-11-17 15:43:22 +01:00
antirez
2ffb706841 Lua debugger: inform user changes are rolled back.
When redis-cli will support the synchronous mode, this will not be
printed.
2015-11-17 15:43:22 +01:00
antirez
b2e30575e2 Lua debugger: clear end of session protocol.
When the debugger exits now it produces an <endsession> tag that informs
redis-cli (or other debugging clients) that the session terminated.
This way the client knows there is yet another reply to read (the one of
the EVAL script itself), and can switch to non-debugging mode ASAP.
2015-11-17 15:43:22 +01:00
antirez
bbb8a712c7 Lua debugger: redis.debug() implemented. 2015-11-17 15:43:22 +01:00
antirez
6a5c20e2ac Lua debugger: redis-cli, mark end of debugging session. 2015-11-17 15:43:22 +01:00
antirez
02e8af90fb Lua debugger: much better Lua values pretty printer. 2015-11-17 15:43:21 +01:00
antirez
1b70a303c6 Lua debugger: output improvements, eval command. 2015-11-17 15:43:21 +01:00
antirez
4c2fa9adcf Lua debugger: breakpoints. 2015-11-17 15:43:21 +01:00
antirez
2cbcb0996a Lua debugger: log Redis commands. List command. 2015-11-17 15:43:21 +01:00
antirez
e897b0142d Lua debugger: initial REPL. 2015-11-17 15:43:20 +01:00
antirez
063bbc8074 Lua debugger: foundations implemented. 2015-11-17 15:43:20 +01:00
antirez
d638d3de00 redis-cli pipe mode: don't stay in the write loop forever.
The code was broken and resulted in redis-cli --pipe to, most of the
times, writing everything received in the standard input to the Redis
connection socket without ever reading back the replies, until all the
content to write was written.

This means that Redis had to accumulate all the output in the output
buffers of the client, consuming a lot of memory.

Fixed thanks to the original report of anomalies in the behavior
provided by Twitter user @fsaintjacques.
2015-09-30 16:24:21 +02:00
ubuntu
651741b5bd SCAN iter parsing changed from atoi to chartoull 2015-09-07 11:20:52 +00:00