1. 15 9月, 2016 1 次提交
  2. 14 9月, 2016 4 次提交
    • A
      dict.c: dictReplaceRaw() -> dictAddOrFind(). · 09a50d34
      antirez 提交于
      What they say about "naming things" in programming?
      09a50d34
    • A
      Trim comment to 80 cols. · 041ab044
      antirez 提交于
      041ab044
    • A
      Apply the new dictUnlink() where possible. · a636aeac
      antirez 提交于
      Optimizations suggested and originally implemented by @oranagra.
      Re-applied by @antirez using the modified API.
      a636aeac
    • O
      dict.c: introduce dictUnlink(). · afcbcc0e
      oranagra 提交于
      Notes by @antirez:
      
      This patch was picked from a larger commit by Oran and adapted to change
      the API a bit. The basic idea is to avoid double lookups when there is
      to use the value of the deleted entry.
      
      BEFORE:
      
          entry = dictFind( ... ); /* 1st lookup. */
          /* Do somethjing with the entry. */
          dictDelete(...);         /* 2nd lookup. */
      
      AFTER:
      
          entry = dictUnlink( ... ); /* 1st lookup. */
          /* Do somethjing with the entry. */
          dictFreeUnlinkedEntry(entry); /* No lookups!. */
      afcbcc0e
  3. 13 9月, 2016 2 次提交
    • A
      MEMORY OVERHEAD implemented (using Oran Agra initial implementation). · 8c84c962
      antirez 提交于
      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
    • A
      objectComputeSize(): estimate collections sampling N elements. · 89dec692
      antirez 提交于
      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
  4. 12 9月, 2016 2 次提交
  5. 09 9月, 2016 9 次提交
  6. 08 9月, 2016 1 次提交
  7. 07 9月, 2016 6 次提交
  8. 01 9月, 2016 2 次提交
  9. 24 8月, 2016 2 次提交
  10. 12 8月, 2016 1 次提交
  11. 11 8月, 2016 2 次提交
  12. 09 8月, 2016 2 次提交
  13. 05 8月, 2016 1 次提交
  14. 04 8月, 2016 4 次提交
  15. 03 8月, 2016 1 次提交
    • A
      Security: Cross Protocol Scripting protection. · a81a92ca
      antirez 提交于
      This is an attempt at mitigating problems due to cross protocol
      scripting, an attack targeting services using line oriented protocols
      like Redis that can accept HTTP requests as valid protocol, by
      discarding the invalid parts and accepting the payloads sent, for
      example, via a POST request.
      
      For this to be effective, when we detect POST and Host: and terminate
      the connection asynchronously, the networking code was modified in order
      to never process further input. It was later verified that in a
      pipelined request containing a POST command, the successive commands are
      not executed.
      a81a92ca