1. 03 Jul, 2013 1 commit
    • antirez's avatar
      redis-cli --pipe: send final ECHO in a safer way. · 24b37992
      antirez authored
      If the protocol read from stdin happened to contain grabage (invalid
      random chars), in the previous implementation it was possible to end
      with something like:
      
      dksfjdksjflskfjl*2\r\n$4\r\nECHO....
      
      That is invalid as the *2 should start into a new line. Now we prefix
      the ECHO with a CRLF that has no effects on the server but prevents this
      issues most of the times.
      
      Of course if the offending wrong sequence is something like:
      
      $3248772349\r\n
      
      No one is going to save us as Redis will wait for data in the context of
      a big argument, so this fix does not cover all the cases.
      
      This partially fixes issue #681.
      24b37992
  2. 11 Apr, 2013 2 commits
    • antirez's avatar
      redis-cli: raise error on bad command line switch. · 42ba5d37
      antirez authored
      Previously redis-cli never tried to raise an error when an unrecognized
      switch was encountered, as everything after the initial options is to be
      transmitted to the server.
      
      However this is too liberal, as there are no commands starting with "-".
      So the new behavior is to produce an error if there is an unrecognized
      switch starting with "-". This should not break past redis-cli usages
      but should prevent broken options to be silently discarded.
      
      As far the first token not starting with "-" is encountered, all the
      rest is considered to be part of the command, so you cna still use
      strings starting with "-" as values, like in:
      
          redis-cli --port 6380 set foo --my-value
      42ba5d37
    • antirez's avatar
      redis-cli: --latency-history mode implemented. · 0d7b10ee
      antirez authored
      0d7b10ee
  3. 25 Mar, 2013 1 commit
    • antirez's avatar
      redis-cli --stat, stolen from redis-tools. · ec18d4bf
      antirez authored
      Redis-tools is a connection of tools no longer mantained that was
      intented as a way to economically make sense of Redis in the pre-vmware
      sponsorship era. However there was a nice redis-stat utility, this
      commit imports one of the functionalities of this tool here in redis-cli
      as it seems to be pretty useful.
      
      Usage: redis-cli --stat
      
      The output is similar to vmstat in the format, but with Redis specific
      stuff of course.
      
      From the point of view of the monitored instance, only INFO is used in
      order to grab data.
      ec18d4bf
  4. 12 Mar, 2013 1 commit
  5. 06 Mar, 2013 1 commit
  6. 04 Mar, 2013 1 commit
    • antirez's avatar
      redis-cli: use keepalive socket option. · df3b4920
      antirez authored
      This should improve things in two ways:
      
      1) Prevent timeouts caused by the execution of long commands.
      2) Improve detection of real connection errors.
      
      This is mostly effective only on Linux because of the bogus default
      keepalive settings. In Linux we have OS-specific calls to set the
      keepalive interval to reasonable values.
      df3b4920
  7. 21 Jan, 2013 1 commit
  8. 19 Jan, 2013 3 commits
  9. 18 Jan, 2013 1 commit
    • Nathan Parry's avatar
      redis-cli --rdb fails if server sends a ping · f2bc198d
      Nathan Parry authored
      Redis pings slaves in "pre-synchronization stage" with newlines. (See
      https://github.com/antirez/redis/blob/2.6.9/src/replication.c#L814)
      However, redis-cli does not expect this - it sees the newline as the end
      of the bulk length line, and ends up returning 0 as bulk the length.
      This manifests as the following when running redis-cli:
      
          $ ./src/redis-cli --rdb some_file
          SYNC sent to master, writing 0 bytes to 'some_file'
          Transfer finished with success.
      
      With this commit, we just ignore leading newlines while reading the bulk
      length line.
      
      To reproduce the problem, load enough data into Redis so that the
      preparation of the RDB snapshot takes long enough for a ping to occur
      while redis-cli is waiting for the data.
      f2bc198d
  10. 16 Jan, 2013 1 commit
  11. 20 Dec, 2012 1 commit
  12. 08 Nov, 2012 1 commit
  13. 22 Jul, 2012 1 commit
  14. 13 Jun, 2012 1 commit
    • Ted Nyman's avatar
      Standardize punctuation in redis-cli help. · e612508d
      Ted Nyman authored
      Right there is a mix of help entries ending with periods or
      without periods. This standardizes the end of command as without
      periods, which seems to be the general custom in most unix tools,
      at least.
      e612508d
  15. 14 May, 2012 1 commit
    • antirez's avatar
      Added time.h include in redis-cli. · e67d014d
      antirez authored
      redis-cli.c uses the time() function to seed the PRNG, but time.h was
      not included. This was not noticed since sys/time.h is included and was
      enough in most systems (but not correct). With Ubuntu 12.04 GCC
      generates a warning that made us aware of the issue.
      e67d014d
  16. 12 May, 2012 3 commits
  17. 24 Apr, 2012 1 commit
  18. 18 Apr, 2012 2 commits
  19. 19 Mar, 2012 1 commit
  20. 29 Feb, 2012 2 commits
  21. 22 Feb, 2012 2 commits
  22. 13 Dec, 2011 1 commit
  23. 28 Oct, 2011 1 commit
  24. 05 Oct, 2011 1 commit
  25. 21 Sep, 2011 1 commit
  26. 15 Sep, 2011 2 commits
  27. 28 May, 2011 4 commits
  28. 21 Apr, 2011 1 commit