1. 26 6月, 2013 9 次提交
    • A
      Use the RSC to replicate EVALSHA unmodified. · 545fe0c3
      antirez 提交于
      This commit uses the Replication Script Cache in order to avoid
      translating EVALSHA into EVAL whenever possible for both the AOF and
      slaves.
      545fe0c3
    • A
      Replication of scripts as EVALSHA: sha1 caching implemented. · 9d894b1b
      antirez 提交于
      This code is only responsible to take an LRU-evicted fixed length cache
      of SHA1 that we are sure all the slaves received.
      
      In this commit only the implementation is provided, but the Redis core
      does not use it to actually send EVALSHA to slaves when possible.
      9d894b1b
    • A
      New API to force propagation. · 8328d993
      antirez 提交于
      The old REDIS_CMD_FORCE_REPLICATION flag was removed from the
      implementation of Redis, now there is a new API to force specific
      executions of a command to be propagated to AOF / Replication link:
      
          void forceCommandPropagation(int flags);
      
      The new API is also compatible with Lua scripting, so a script that will
      execute commands that are forced to be propagated, will also be
      propagated itself accordingly even if no change to data is operated.
      
      As a side effect, this new design fixes the issue with scripts not able
      to propagate PUBLISH to slaves (issue #873).
      8328d993
    • A
      Allow PUBSUB NUMSUB without channels. · aeab473d
      antirez 提交于
      The result is an empty list but it is handy to call it programmatically.
      aeab473d
    • A
      PUBSUB command implemented. · a8f1474d
      antirez 提交于
      Currently it implements three subcommands:
      
      PUBSUB CHANNELS [<pattern>]    List channels with non-zero subscribers.
      PUBSUB NUMSUB [channel_1 ...]  List number of subscribers for channels.
      PUBSUB NUMPAT                  Return number of subscribed patterns.
      a8f1474d
    • Y
      don't assume time_t == long · 3642557a
      YAMAMOTO Takashi 提交于
      time_t is always 64bit on recent versions of NetBSD.
      3642557a
    • Y
      use nanosleep instead of usleep · 30f3ae03
      YAMAMOTO Takashi 提交于
      SUSv3 says that:
      	The useconds argument shall be less than one million. If the value of
      	useconds is 0, then the call has no effect.
      and actually NetBSD's implementation rejects such a value with EINVAL.
      use nanosleep which has no such a limitation instead.
      30f3ae03
    • Y
      rename popcount to popcount_binary to avoid a conflict with NetBSD libc · f27896a1
      YAMAMOTO Takashi 提交于
      NetBSD-current's libc has a function named popcount.
      hiding these extensions using feature macros is not possible because
      redis uses other extensions covered by the same feature macro.
      eg. inet_aton
      f27896a1
    • Y
      don't define _XOPEN_SOURCE for NetBSD · 9a7b09ed
      YAMAMOTO Takashi 提交于
      on NetBSD, defining _XOPEN_SOURCE hides extensions
      like inet_aton, strcasecmp, etc.
      9a7b09ed
  2. 20 6月, 2013 3 次提交
  3. 19 6月, 2013 4 次提交
  4. 04 6月, 2013 1 次提交
  5. 01 6月, 2013 1 次提交
  6. 31 5月, 2013 3 次提交
  7. 30 5月, 2013 4 次提交
  8. 28 5月, 2013 2 次提交
  9. 27 5月, 2013 7 次提交
    • A
      Version bumped to 2.7.2. · 2d497014
      antirez 提交于
      2d497014
    • A
      Close connection with timedout slaves. · 308940aa
      antirez 提交于
      Now masters, using the time at which the last REPLCONF ACK was received,
      are able to explicitly disconnect slaves that are no longer responding.
      
      Previously the only chance was to see a very long output buffer, that
      was highly suboptimal.
      308940aa
    • A
      Send ACK to master once every second. · 45e6a402
      antirez 提交于
      ACKs can be also used as a base for synchronous replication. However in
      that case they'll be explicitly requested by the master when the client
      sends a request that needs to be replicated synchronously.
      45e6a402
    • A
      Don't ACK the master after every command. · a74f8fe1
      antirez 提交于
      Sending an ACK is now moved into the replicationSendAck() function.
      a74f8fe1
    • A
      Make sure that REPLCONF ACK really has no return value. · 0000d533
      antirez 提交于
      0000d533
    • A
      Replication: send REPLCONF ACK to master. · 146f1d7d
      antirez 提交于
      146f1d7d
    • A
      REPLCONF ACK command. · 1e77b77d
      antirez 提交于
      This special command is used by the slave to inform the master the
      amount of replication stream it currently consumed.
      
      it does not return anything so that we not need to consume additional
      bandwidth needed by the master to reply something.
      
      The master can do a number of things knowing the amount of stream
      processed, such as understanding the "lag" in bytes of the slave, verify
      if a given command was already processed by the slave, and so forth.
      1e77b77d
  10. 25 5月, 2013 3 次提交
  11. 18 5月, 2013 1 次提交
  12. 15 5月, 2013 2 次提交