Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Aug 1, 2012
  1. Redis 2.4.16

Commits on Jul 9, 2012
  1. @jokea
  2. Typo in comment.

  3. REPLCONF internal command introduced.

    The REPLCONF command is an internal command (not designed to be directly
    used by normal clients) that allows a slave to set some replication
    related state in the master before issuing SYNC to start the
    The initial motivation for this command, and the only reason currently
    it is used by the implementation, is to let the slave instance
    communicate its listening port to the slave, so that the master can
    show all the slaves with their listening ports in the "replication"
    section of the INFO output.
    This allows clients to auto discover and query all the slaves attached
    into a master.
    Currently only a single option of the REPLCONF command is supported, and
    it is called "listening-port", so the slave now starts the replication
    process with something like the following chat:
        REPLCONF listening-prot 6380
    Note that this works even if the master is an older version of Redis and
    does not understand REPLCONF, because the slave ignores the REPLCONF
    In the future REPLCONF can be used for partial replication and other
    replication related features where there is the need to exchange
    information between master and slave.
    NOTE: This commit also fixes a bug: the INFO outout already carried
    information about slaves, but the port was broken, and was obtained
    with getpeername(2), so it was actually just the ephemeral port used
    by the slave to connect to the master as a client.
Commits on Jun 21, 2012
  1. Redis 2.4.15

Commits on Jun 2, 2012
  1. Added time.h include in redis-cli.

    redis-cli.c uses the time() function to seed the PRNG, but time.h was
    not included. This was not noticed since sys/time.h is included and was
    enough in most systems (but not correct). With Ubuntu 12.04 GCC
    generates a warning that made us aware of the issue.
  2. @anydot

    future-proof version comparison

    anydot authored committed
  3. Deleted jemalloc.orig from /deps.

    In the commit upgrading jemalloc to version 3.0.0 I added the old
    version of Jemalloc in the 'jemalloc.orig' directory for an error.
    This commit removes the not useful version of jemalloc.
  4. Jemalloc updated to 3.0.0.

    Full changelog here:;a=blob_plain;f=ChangeLog;hb=master
    Notable improvements from the point of view of Redis:
    1) Bugfixing.
    2) Support for Valgrind.
    3) Support for OSX Lion, FreeBSD.
Commits on May 23, 2012
  1. Redis 2.4.14

  2. @jokea
  3. @ThePicard

    Fixed a typo in

    ThePicard authored committed
  4. Fixed issue #516 (ZINTERSTORE mixing sets and zsets).

    Weeks ago trying to fix an harmless GCC warning I introduced a bug in
    the ziplist-encoded implementations of sorted sets.
    The bug completely broke zuiNext() iterator, that is used in the
    ZINTERSTORE and ZUNIONSTORE implementation, so those two commands are no
    longer reliable starting from Redis version 2.4.12 and latest 2.6.0-RC
    This commit fixes the problem and adds a regression test.
Commits on May 12, 2012
  1. Add an implementation of mstime() to 2.4.

    Commit 9419eb0 back ported a better expired keys collection algorithm
    that is more incremental but for it to compile and work we need an
    implementation of the mstime() function that was missing in 2.4.
  2. redis-cli pipe mode: handle EINTR properly as well so that SIGSTOP/SI…

    …GCONT are handled correctly.
  3. If the computer running the Redis test is slow, we revert to --client…

    …s 1 to avoid false positives.
  4. More incremental active expired keys collection process.

    If a large amonut of keys are all expiring about at the same time, the
    "active" expired keys collection cycle used to block as far as the
    percentage of already expired keys was >= 25% of the total population of
    keys with an expire set.
    This could block the server even for many seconds in order to reclaim
    memory ASAP. The new algorithm uses at max a small amount of
    milliseconds per cycle, even if this means reclaiming the memory less
    promptly it also means a more responsive server.
Commits on May 11, 2012
Commits on May 9, 2012
  1. Fix PREFIX typo in Makefile.

Commits on May 2, 2012
  1. Redis 2.4.13

Commits on May 1, 2012
  1. @pietern

    Use safe dictionary iterator from KEYS

    pietern authored committed
    Every matched key in a KEYS call is checked for expiration. When the key
    is set to expire, the call to `getExpire` will assert that the key also
    exists in the main dictionary. This in turn causes a rehashing step to
    be executed. Rehashing a dictionary when there is an iterator active may
    result in the iterator emitting duplicate entries, or not emitting some
    entries at all. By using a safe iterator, the rehash step is omitted.
Commits on Apr 30, 2012
  1. Redis 2.4.12

  2. Redis test: More reliable BRPOPLPUSH replication test.

    Now it uses the new wait_for_condition testing primitive.
    Also wait_for_condition implementation was fixed in this commit to properly
    escape the expr command and its argument.
Commits on Apr 29, 2012
Something went wrong with that request. Please try again.