Redis v3.2.2发布,一个高性能的key-value数据库

jopen 5年前
   <p style="text-align: center;"><img alt="" src="" /></p>    <p>Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。</p>    <p>特点:</p>    <ul>     <li>Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。</li>     <li>Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。</li>     <li>Redis支持数据的备份,即master-slave模式的数据备份。</li>    </ul>    <p>优势:</p>    <ul>     <li>性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。</li>     <li>丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。</li>     <li>原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。</li>     <li>丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。</li>    </ul>    <h2>更新日志</h2>    <p><strong>Bug修复</strong><br /> 1. There was a bug in the List type implementation, able to cause the<br />    crash of the server under certain (non trivial to replicate) circumstances<br />    when the LSET command was used. Now the bug is fixed and a new stress tester<br />    that was able to easily trigger the bug was added to the test suite.</p>    <p>2. Redis Sentinel, when monitoring multiple masters, could crash after<br />    a Sentinel address update event.</p>    <p>3. Redis Sentinel now checks slaves INFO state more often when disconnected.<br />    This is not really a bug fix, but may allow to more easily detect that<br />    a slave is able to fail over its master reducing certain delays.</p>    <p>4. It was possible, under a variety of conditions, that the AOF and RDB children<br />    process could spawn at the same time. This is known to trash disk I/O,<br />    AOF performances, and to ultimately create latency in the Redis server.<br />    Normally Redis avoids to have the two writing children at the same time, but<br />    there were edge cases discovered by Oran Agra (that also co-authored the<br />    fix with me) where the double-fork could happen. In order to fix this bug<br />    non trivial changes to the replication code were operated, however it was<br />    important to back port this fix into 3.2.2 because the bug could lead to<br />    bad latency experiences in certain cases.</p>    <p>5. Many GEORADIUS bugs are now fixed \o/. This started as a failing CI<br />    test. I grepped for more clues and there were a number of random failures<br />    in the points reported by GEORADIUS. The errors were found to be related<br />    to three different bugs (one of these was a bug in the test itself).<br />    It's not a critical bug: the effect is to, sometimes, don't report objects<br />    that are near the radius, but only with specific sets of coordinates<br />    and radius settings. However now the issues are fixed and the error<br />    vectors were added as regression tests.<br />  </p>    <p><strong>新功能</strong><br />  1. Now slaves support the slave-announce-ip and slave-announce-port options.<br />    Using these features a slave can be reported by the master `INFO` output<br />    and `ROLE` command as having arbitrary IP and port. This allows to have<br />    Sentinel deployments when working with containers or NAT-ed environments<br />    more easily.</p>    <p>2. The RDB check utlity is now part of Redis and uses the same RDB code that<br />    Redis uses in order to load the dataset in memory, so a given version<br />    of Redis is always able to check the RDB it produced... without another<br />    external check tool which is supposed to be taken in sync with the<br />    rdb.c implementation. This in turn also means that the new RDB checking<br />    is able to spot more complex bugs, since it really loads the dataset<br />    instead of just skipping bytes.</p>    <p>更多日志:<a href="/misc/goto?guid=4958992619194896377">3.2/00-RELEASENOTES</a></p>    <h2>下载</h2>    <ul>     <li><a href="/misc/goto?guid=4958992619307013147" rel="nofollow"><strong>Source code</strong> (zip)</a></li>     <li><a href="/misc/goto?guid=4958992619420374497" rel="nofollow"><strong>Source code</strong> (tar.gz)</a></li>     <li><a href="/misc/goto?guid=4958992619537128420">redis-3.2.2.tar.gz</a></li>    </ul>