Redis是一個開源、基於C語言、基於內存亦可持久化的高性能NoSQL數據庫,同時,它還提供了多種語言的API。近日,Redis 3.0在經過6個RC版本后,其正式版終於發布了。Redis 3.0的最重要特征是對Redis集群的支持,此外,該版本相對於2.8版本在性能、穩定性等方面都有了重大提高。
Redis 3.0正式版相對於RC6版本的改進內容包括:
- 修復了無磁盤情況下的的復制問題;
- 在角色變化后對BLPOP復制進行了測試;
- 改進了prepareClientToWrite()錯誤處理;
- 移除了dict.c中不再使用的函數。
Redis 3.0版本相對於2.8版本帶來的主要新特性包括:
- 實現了分布式的Redis即Redis Cluster,從而做到了對集群的支持;
- 引入了全新的"embedded string" 對象編碼方式,從而實現了更少的緩存丟失和在特定的工作負載下速度的大幅提升;
- AOF重寫過程中的 "last write" 操作降低了AOF child -> parent數據傳輸的延遲
- 大幅提升LRU算法的性能以用於值的失效;
- WAIT命令能夠阻塞傳輸到指定數量從節點的寫操作;
- 實現了對MIGRATE連接緩存的支持,從而大幅提升鍵值遷移的性能;
- 為MIGARTE新增了參數:COPY和REPLACE;
- CLIENT PAUSE命令實現了在指定時間內停止處理客戶端請求;
- 提高了BITCOUNT、INCR操作的性能;
- CONFIG SET能夠接受不同單位的內存值,如CONFIG SET maxmemory 1gb;
- 調整Redis日志格式。
Redis之父Salvatore Sanfilippo針對Redis 3.0正式版的發布這樣說到:
自己相信Redis 3.0將能夠完全改變Redis的面貌,人們將認識到Redis是一個全新的東西,它的自動擴展、容錯和高可用性都有了很大的改進,從此,它將能夠在更大范圍內承擔更關鍵的任務。Redis 3.0標志着一個新階段和新開發模式的開始。以后,大量已經開發的新功能將不再急於進入穩定版本,實際上Redis 3.0就放棄了很多新功能,從而保證用戶能夠馬上使用新的穩定版本。
Redis 3.0正式版發布的消息一經公布,就引起了國內各大社區、論壇的熱烈討論,Reddit的用戶主要針對Redis穩定性進行了討論,Hacker News上也有了相關評論,有興趣的讀者可以前去查看。更多關於Redis 3.0正式版本的改進內容,請讀者查看其發布說明。更多關於Redis相關信息,請讀者登錄其官網或者查看GitHub上提供相關的文檔。
感謝郭蕾對本文的審校。
給InfoQ中文站投稿或者參與內容翻譯工作,請郵件至editors@cn.infoq.com。也歡迎大家通過新浪微博(@InfoQ,@丁曉昀),微信(微信號:InfoQChina)關注我們,並與我們的編輯和其他讀者朋友交流。