1. 22 Jul, 2014 3 commits
    • antirez's avatar
      098bb977
    • antirez's avatar
      ZUNIONSTORE reimplemented for speed. · 316e1db9
      antirez authored
      The user @kjmph provided excellent ideas to improve speed of ZUNIONSTORE
      (in certain cases by many order of magnitude), together with an
      implementation of the ideas.
      
      While the ideas were sounding, the implementation could be improved both
      in terms of speed and clearness, so that's my attempt at reimplementing
      the speedup proposed, trying to improve by directly using just a
      dictionary with an embedded score inside, and reusing the single-pass
      aggregate + order-later approach.
      
      Note that you can't apply this commit without applying the previous
      commit in this branch that adds a double in the dictEntry value union.
      
      Issue #1786.
      316e1db9
    • antirez's avatar
      Add double field in dict.c entry value union. · c8a6cd94
      antirez authored
      c8a6cd94
  2. 18 Jul, 2014 4 commits
    • antirez's avatar
      06e9b3ca
    • antirez's avatar
      tryObjectEncoding(): use shared objects with maxmemory and non-LRU policy. · ab5f20d1
      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.
      ab5f20d1
    • antirez's avatar
      Variadic PING with support for Pub/Sub. · 70e39481
      antirez authored
      PING can now be called with an additional arugment, behaving exactly
      like the ECHO command. PING can now also be called in Pub/Sub mode (with
      one more more subscriptions to channels / patterns) in order to trigger
      the delivery of an asynchronous pong message with the optional payload.
      
      This fixes issue #420.
      70e39481
    • antirez's avatar
      PubSub clients refactoring and new PUBSUB flag. · 294bcfc4
      antirez authored
      The code tested many times if a client had active Pub/Sub subscriptions
      by checking the length of a list and dictionary where the patterns and
      channels are stored. This was substituted with a client flag called
      REDIS_PUBSUB that is simpler to test for. Moreover in order to manage
      this flag some code was refactored.
      
      This commit is believed to have no effects in the behavior of the
      server.
      294bcfc4
  3. 14 Jul, 2014 2 commits
  4. 11 Jul, 2014 1 commit
  5. 10 Jul, 2014 1 commit
  6. 09 Jul, 2014 29 commits