1. 14 Aug, 2020 1 commit
    • michael-grunder's avatar
      Patch Hiredis v1.0.0 to use Redis' SDS library. · 211580d1
      michael-grunder authored
      Hiredis needs to run in Windows so has a fair bit of logic to handle
      that environment.  This isn't a requirement when packaging it in Redis,
      and to avoid having to maintain two copies of virtually the same library
      in memory, just use the one from Redis.
      
      There are a few places where Hiredis is checking for NULL return values
      from allocations, because we try to gracefully handle those situations.
      This isn't needed in Redis as it just hard aborts under such
      circumstances.
      211580d1
  2. 07 Jun, 2020 1 commit
  3. 22 May, 2020 1 commit
    • Michael Grunder's avatar
      Allow users to replace allocator and handle OOM everywhere. (#800) · 8e0264cf
      Michael Grunder authored
      * Adds an indirection to every allocation/deallocation to allow users to 
        plug in ones of their choosing (use custom functions, jemalloc, etc).
      
      * Gracefully handle OOM everywhere in hiredis.  This should make it possible
        for users of the library to have more flexibility in how they handle such situations.
      
      * Changes `redisReaderTask->elements` from an `int` to a `long long` to prevent
        a possible overflow when transferring the task elements into a `redisReply`.
      
      * Adds a configurable `max elements` member to `redisReader` that defaults to
        2^32 - 1.  This can be set to "unlimited" by setting the value to zero.
      8e0264cf
  4. 20 May, 2020 1 commit
  5. 22 Jul, 2019 1 commit
  6. 17 Mar, 2018 1 commit
  7. 09 Dec, 2016 1 commit
  8. 20 Apr, 2016 3 commits
  9. 27 Oct, 2015 1 commit
  10. 13 Mar, 2015 1 commit
  11. 05 Jan, 2015 3 commits
    • Matt Stancliff's avatar
      Cleanup tabs and end of line whitespace · f28872ca
      Matt Stancliff authored
      f28872ca
    • michael-grunder's avatar
      Improve redisAppendCommandArgv performance · 40f7035b
      michael-grunder authored
      OK, perhaps the second time is a charm.  I forgot that I had
      hiredis forked from a long time ago, so the initial pull
      request was hosed.  :)
      
      * Pulled in sdscatfmt() from Redis, and modified it to accept a
        size_t (%T) style format specifier.
      
      * Pulled in sdsll2str() and sdsull2str() from Redis (needed by
        sdscatfmt).
      
      * Added a new method, redisFormatSdsCommandArgv() which takes
        and sds* as the target, rather than char* (and uses sdscatfmt
        instead of sprintf for the construction).
      
      I get roughly the following improvement:
      
      Old: 1.044806
      New: 0.481620
      
      The benchmark code itself can be found here:
      https://gist.github.com/michael-grunder/c92ef31bb632b3d0ad81
      
      Closes #260
      40f7035b
    • Gary Grossman's avatar
      Fix minor comment problems · 2d814b8d
      Gary Grossman authored
      "sdscatpritf" -> "sdscatprintf"
      Example used sdsempty("text") but should say sdsnew("text")
      
      Closes #282
      2d814b8d
  12. 09 Apr, 2014 1 commit
  13. 15 Jan, 2014 1 commit
  14. 02 Jul, 2013 1 commit
  15. 21 Apr, 2011 2 commits
  16. 19 Apr, 2011 1 commit
  17. 19 Jan, 2011 2 commits
  18. 20 Sep, 2010 1 commit
  19. 25 May, 2010 1 commit
  20. 18 May, 2010 1 commit