1. 10 Dec, 2017 1 commit
  2. 06 Dec, 2017 1 commit
    • antirez's avatar
      Change indentation and other minor details of PR #4489. · 522760fa
      antirez authored
      The main change introduced by this commit is pretending that help
      arrays are more text than code, thus indenting them at level 0. This
      improves readability, and is an old practice when defining arrays of
      C strings describing text.
      
      Additionally a few useless return statements are removed, and the HELP
      subcommand capitalized when printed to the user.
      522760fa
  3. 01 Dec, 2017 3 commits
  4. 28 Nov, 2017 1 commit
    • Itamar Haber's avatar
      Standardizes the 'help' subcommand · 59d52f7f
      Itamar Haber authored
      This adds a new `addReplyHelp` helper that's used by commands
      when returning a help text. The following commands have been
      touched: DEBUG, OBJECT, COMMAND, PUBSUB, SCRIPT and SLOWLOG.
      
      WIP
      
      Fix entry command table entry for OBJECT for HELP option.
      
      After #4472 the command may have just 2 arguments.
      
      Improve OBJECT HELP descriptions.
      
      See #4472.
      
      WIP 2
      
      WIP 3
      59d52f7f
  5. 27 Nov, 2017 2 commits
    • zhaozhao.zz's avatar
      LFU: do some changes about LFU to find hotkeys · 583c3147
      zhaozhao.zz authored
      Firstly, use access time to replace the decreas time of LFU.
      For function LFUDecrAndReturn,
      it should only try to get decremented counter,
      not update LFU fields, we will update it in an explicit way.
      And we will times halve the counter according to the times of
      elapsed time than server.lfu_decay_time.
      Everytime a key is accessed, we should update the LFU
      including update access time, and increment the counter after
      call function LFUDecrAndReturn.
      If a key is overwritten, the LFU should be also updated.
      Then we can use `OBJECT freq` command to get a key's frequence,
      and LFUDecrAndReturn should be called in `OBJECT freq` command
      in case of the key has not been accessed for a long time,
      because we update the access time only when the key is read or
      overwritten.
      583c3147
    • antirez's avatar
      Improve OBJECT HELP descriptions. · 75fa7879
      antirez authored
      See #4472.
      75fa7879
  6. 24 Nov, 2017 2 commits
  7. 23 Nov, 2017 1 commit
    • Oran Agra's avatar
      fix string to double conversion, stopped parsing on \0 even if the string has more data. · adf2701c
      Oran Agra authored
      getLongLongFromObject calls string2ll which has this line:
      /* Return if not all bytes were used. */
      so if you pass an sds with 3 characters "1\01" it will fail.
      
      but getLongDoubleFromObject calls strtold, and considers it ok if eptr[0]==`\0`
      i.e. if the end of the string found by strtold ends with null terminator
      
      127.0.0.1:6379> set a 1
      OK
      127.0.0.1:6379> setrange a 2 2
      (integer) 3
      127.0.0.1:6379> get a
      "1\x002"
      127.0.0.1:6379> incrbyfloat a 2
      "3"
      127.0.0.1:6379> get a
      "3"
      adf2701c
  8. 08 Nov, 2017 1 commit
  9. 30 Oct, 2017 1 commit
    • antirez's avatar
      More robust object -> double conversion. · de474186
      antirez authored
      Certain checks were useless, at the same time certain malformed inputs
      were accepted without problems (emtpy strings parsed as zero).
      Cases where strtod() returns ERANGE but we still want to parse the input
      where ok in getDoubleFromObject() but not in the long variant.
      
      As a side effect of these fixes, this commit fixes #4391.
      de474186
  10. 28 Jul, 2017 1 commit
  11. 27 Jan, 2017 1 commit
  12. 26 Jan, 2017 1 commit
  13. 12 Jan, 2017 1 commit
  14. 06 Dec, 2016 1 commit
  15. 31 Oct, 2016 1 commit
  16. 21 Sep, 2016 1 commit
  17. 16 Sep, 2016 6 commits
  18. 15 Sep, 2016 5 commits
  19. 13 Sep, 2016 2 commits
    • antirez's avatar
      MEMORY OVERHEAD implemented (using Oran Agra initial implementation). · 8c84c962
      antirez authored
      This code was extracted from @oranagra PR #3223 and modified in order
      to provide only certain amounts of information compared to the original
      code. It was also moved from DEBUG to the newly introduced MEMORY
      command. Thanks to Oran for the implementation and the PR.
      
      It implements detailed memory usage stats that can be useful in both
      provisioning and troubleshooting memory usage in Redis.
      8c84c962
    • antirez's avatar
      objectComputeSize(): estimate collections sampling N elements. · 89dec692
      antirez authored
      For most tasks, we need the memory estimation to be O(1) by default.
      This commit also implements an initial MEMORY command.
      Note that objectComputeSize() takes the number of samples to check as
      argument, so MEMORY should be able to get the sample size as option
      to make precision VS CPU tradeoff tunable.
      
      Related to: PR #3223.
      89dec692
  20. 12 Sep, 2016 1 commit
  21. 21 Jul, 2016 1 commit
  22. 18 Jul, 2016 1 commit
    • antirez's avatar
      LFU: Initial naive eviction cycle. · a8e2d084
      antirez authored
      It is possible to get better results by using the pool like in the LRU
      case. Also from tests during the morning I believe the current
      implementation has issues in the frequency decay function that should
      decrease the counter at periodic intervals.
      a8e2d084
  23. 15 Jul, 2016 1 commit
  24. 06 Jul, 2016 2 commits
  25. 23 Jun, 2016 1 commit