1. 15 Sep, 2016 3 commits
  2. 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
  3. 12 Sep, 2016 1 commit
  4. 21 Jul, 2016 1 commit
  5. 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
  6. 15 Jul, 2016 1 commit
  7. 06 Jul, 2016 2 commits
  8. 23 Jun, 2016 1 commit
  9. 22 Jun, 2016 1 commit
  10. 20 Jun, 2016 1 commit
  11. 03 Jun, 2016 1 commit
  12. 30 May, 2016 1 commit
  13. 01 Oct, 2015 5 commits
  14. 27 Jul, 2015 1 commit
  15. 26 Jul, 2015 5 commits
  16. 14 Jul, 2015 1 commit
  17. 11 Mar, 2015 1 commit
  18. 27 Feb, 2015 1 commit
  19. 02 Jan, 2015 1 commit
  20. 03 Dec, 2014 1 commit
  21. 02 Dec, 2014 1 commit
  22. 18 Jul, 2014 1 commit
    • antirez's avatar
      tryObjectEncoding(): use shared objects with maxmemory and non-LRU policy. · b3c042cd
      antirez authored
      In order to make sure every object has its own private LRU counter, when
      maxmemory is enabled tryObjectEncoding() does not use the pool of shared
      integers. However when the policy is not LRU-based, it does not make
      sense to do so, and it is much better to save memory using shared
      integers.
      b3c042cd
  23. 11 Jul, 2014 1 commit
    • michael-grunder's avatar
      Fix OBJECT arity · ce8a68b1
      michael-grunder authored
      Previously, the command definition for the OBJECT command specified
      a minimum of two args (and that it was variadic), which meant that
      if you sent this:
      
      OBJECT foo
      
      When cluster was enabled, it would result in an assertion/SEGFAULT
      when Redis was attempting to extract keys.
      
      It appears that OBJECT is not variadic, and only ever takes 3 args.
      
      https://gist.github.com/michael-grunder/25960ce1508396d0d36a
      ce8a68b1
  24. 12 May, 2014 1 commit
  25. 07 May, 2014 1 commit
  26. 04 Apr, 2014 1 commit
  27. 30 Mar, 2014 1 commit
    • antirez's avatar
      String value unsharing refactored into proper function. · 543ede03
      antirez authored
      All the Redis functions that need to modify the string value of a key in
      a destructive way (APPEND, SETBIT, SETRANGE, ...) require to make the
      object unshared (if refcount > 1) and encoded in raw format (if encoding
      is not already REDIS_ENCODING_RAW).
      
      This was cut & pasted many times in multiple places of the code. This
      commit puts the small logic needed into a function called
      dbUnshareStringValue().
      543ede03
  28. 24 Mar, 2014 1 commit