1. 17 7月, 2015 5 次提交
  2. 16 7月, 2015 3 次提交
    • A
      Client timeout handling improved. · 25e1cb3f
      antirez 提交于
      The previos attempt to process each client at least once every ten
      seconds was not a good idea, because:
      
      1. Usually because of the past min iterations set to 50, you get much
      better processing period most of the times.
      
      2. However when there are many clients and a normal setting for
      server.hz, the edge case is triggered, and waiting 10 seconds for a
      BLPOP that asked for 1 second is not ok.
      
      3. Moreover, because of the high min-itereations limit of 50, when HZ
      was set to an high value, the actual behavior was to process a lot of
      clients per second.
      
      Also the function checking for timeouts called gettimeofday() at each
      iteration which can be costly.
      
      The new implementation will try to process each client once per second,
      gets the current time as argument, and does not attempt to process more
      than 5 clients per iteration if not needed.
      
      So now:
      
      1. The CPU usage of an idle Redis process is the same or better.
      2. The CPU usage of a busy Redis process is the same or better.
      3. However a non trivial amount of work may be performed per iteration
      when there are many many clients. In this particular case the user may
      want to raise the "HZ" value if needed.
      
      Btw with 4000 clients it was still not possible to noticy any actual
      latency created by processing 400 clients per second, since the work
      performed for each client is pretty small.
      25e1cb3f
    • J
      92c146df
    • A
      Clarify a comment in clientsCron(). · e0bb454a
      antirez 提交于
      e0bb454a
  3. 14 7月, 2015 2 次提交
    • A
      DEBUG HTSTATS <dbid> added. · 0f64080d
      antirez 提交于
      The command reports information about the hash table internal state
      representing the specified database ID.
      
      This can be used in order to investigate rehashings, memory usage issues
      and for other debugging purposes.
      0f64080d
    • A
      EXISTS is now variadic. · 4c7ee0d5
      antirez 提交于
      The new return value is the number of keys existing, among the ones
      specified in the command line, counting the same key multiple times if
      given multiple times (and if it exists).
      
      See PR #2667.
      4c7ee0d5
  4. 13 7月, 2015 1 次提交
  5. 09 7月, 2015 3 次提交
  6. 07 7月, 2015 1 次提交
  7. 03 7月, 2015 1 次提交
  8. 01 7月, 2015 1 次提交
  9. 29 6月, 2015 14 次提交
  10. 27 6月, 2015 3 次提交
  11. 26 6月, 2015 2 次提交
    • M
      pfcount support multi keys · c2322357
      MOON_CLJ 提交于
      c2322357
    • A
      Geo: from lat,lon API to lon,lat API according to GIS standard · fa9d62d3
      antirez 提交于
      The GIS standard and all the major DBs implementing GIS related
      functions take coordinates as x,y that is longitude,latitude.
      It was a bad start for Redis to do things differently, so even if this
      means that existing users of the Geo module will be required to change
      their code, Redis now conforms to the standard.
      
      Usually Redis is very backward compatible, but this is not an exception
      to this rule, since this is the first Geo implementation entering the
      official Redis source code. It is not wise to try to be backward
      compatible with code forks... :-)
      
      Close #2637.
      fa9d62d3
  12. 24 6月, 2015 4 次提交