Redis v3.2.2發布,一個高性能的key-value數據庫

jopen 8年前發布 | 10K 次閱讀 Redis key-value 數據庫

Redis 是完全開源免費的,遵守BSD協議,是一個高性能的key-value數據庫。

特點:

  • Redis支持數據的持久化,可以將內存中的數據保持在磁盤中,重啟的時候可以再次加載進行使用。
  • Redis不僅僅支持簡單的key-value類型的數據,同時還提供list,set,zset,hash等數據結構的存儲。
  • Redis支持數據的備份,即master-slave模式的數據備份。

優勢:

  • 性能極高 – Redis能讀的速度是110000次/s,寫的速度是81000次/s 。
  • 豐富的數據類型 – Redis支持二進制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 數據類型操作。
  • 原子 – Redis的所有操作都是原子性的,同時Redis還支持對幾個操作全并后的原子性執行。
  • 豐富的特性 – Redis還支持 publish/subscribe, 通知, key 過期等等特性。

更新日志

Bug修復
1. There was a bug in the List type implementation, able to cause the
   crash of the server under certain (non trivial to replicate) circumstances
   when the LSET command was used. Now the bug is fixed and a new stress tester
   that was able to easily trigger the bug was added to the test suite.

2. Redis Sentinel, when monitoring multiple masters, could crash after
   a Sentinel address update event.

3. Redis Sentinel now checks slaves INFO state more often when disconnected.
   This is not really a bug fix, but may allow to more easily detect that
   a slave is able to fail over its master reducing certain delays.

4. It was possible, under a variety of conditions, that the AOF and RDB children
   process could spawn at the same time. This is known to trash disk I/O,
   AOF performances, and to ultimately create latency in the Redis server.
   Normally Redis avoids to have the two writing children at the same time, but
   there were edge cases discovered by Oran Agra (that also co-authored the
   fix with me) where the double-fork could happen. In order to fix this bug
   non trivial changes to the replication code were operated, however it was
   important to back port this fix into 3.2.2 because the bug could lead to
   bad latency experiences in certain cases.

5. Many GEORADIUS bugs are now fixed \o/. This started as a failing CI
   test. I grepped for more clues and there were a number of random failures
   in the points reported by GEORADIUS. The errors were found to be related
   to three different bugs (one of these was a bug in the test itself).
   It's not a critical bug: the effect is to, sometimes, don't report objects
   that are near the radius, but only with specific sets of coordinates
   and radius settings. However now the issues are fixed and the error
   vectors were added as regression tests.
 

新功能
 1. Now slaves support the slave-announce-ip and slave-announce-port options.
   Using these features a slave can be reported by the master `INFO` output
   and `ROLE` command as having arbitrary IP and port. This allows to have
   Sentinel deployments when working with containers or NAT-ed environments
   more easily.

2. The RDB check utlity is now part of Redis and uses the same RDB code that
   Redis uses in order to load the dataset in memory, so a given version
   of Redis is always able to check the RDB it produced... without another
   external check tool which is supposed to be taken in sync with the
   rdb.c implementation. This in turn also means that the new RDB checking
   is able to spot more complex bugs, since it really loads the dataset
   instead of just skipping bytes.

更多日志:3.2/00-RELEASENOTES

下載

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!