Redis 3.0.0正式版發布,全新的分布式高可用數據庫

Redis 3.0.0 正式版終于到來了!最重要的新特性是集群(Redis Cluster),提供Redis功能子集(比如不支持多數據庫)的分布式、容錯的實現(最多支持1000結點)。

data/attachment/portal/201504/02/214413pwwqlzzmf2phf4xc.png

  Salvatore 'antirez' Sanfilippo在Google Groups里表示,這是Redis的重要時刻?!拔蚁嘈沤裉斓腞edis 3.0.0將以某種方式完全改變Redis的面貌?!彼麖娬{,人們將認識到Redis是一個全新的東西,它的自動擴展、容錯和高可用性都大大提高,從此能夠在更大范圍承擔更關鍵的任務。(我總結一下老大的意思吧:Redis翻開了歷史新的篇章……)

  antirez還透露,內置的集群功能持續干了很多年,雖然能找到一些時間密集開發,但也不時被其他特性完全打斷,現在終于完成了。他預計社區能用好這些功能,積累必要的經驗,還要一到兩年。

  他還說,Redis 3.0.0實際上標志著一個新階段和新的開發模式的開始。以后,大量已經開發的新功能將不再急于進入穩定版本,實際上Redis 3.0.0就放棄了很多新功能,回退到2.8,以保證新的穩定版本用戶能夠馬上使用。

  他在帖子里重點提及的其他更新包括:

  1. 新的"embedded string"對象編碼,提升緩存命中率。在某些工作負載(尤其是管道化的高負載)下速度大幅提高。

  2. 大大改進了回收鍵的LRU近似算法。

  3. AOF重寫功能被完全重新開發了,以減少進程最終將積累的緩沖寫入時,由于硬盤速度慢而導致的延遲。

  4.   而在發布聲明中還列出了如下更新(相對于2.8):

  5. WAIT command to block waiting for a write to be transmitted to the specified number of slaves.

  6. MIGRATE connection caching. Much faster keys migraitons.

  7. MIGARTE new options COPY and REPLACE.

  8. CLIENT PAUSE command: stop processing client requests for a specified amount of time.

  9. BITCOUNT performance improvements.

  10. CONFIG SET accepts memory values in different units (for example you can use "CONFIG SET maxmemory 1gb").

  11. Redis log format slightly changed reporting in each line the role of the instance (master/slave) or if it's a saving child log.

  12. INCR performance improvements.

  詳情可以點擊 這里 查看。

  ITEye上powersoft同學之前翻譯了Redis 3.0的文檔,雖然還沒有來得及更新,但還是有參考價值的:http://www.iteye.com/blogs/subjects/redis3。

  Hacker News上antirez回答了社區提出的一些問題,頗有價值,整理翻譯如下。

這是不是愚人節笑話?。?/strong>

  非也,我們一向有在4月1日發布的傳統。去年HyperLogLog支持也是4月1日發布的嘛。而且那次因為HyperLogLog名字太科幻,好多人怎么都不肯相信這居然不是愚人節笑話呢。

  再說,開源軟件嘛,怕什么愚人節,你下載代碼看看不就啥都知道了。

Redis之外還有什么其他更好的選擇啊?

 
?。ㄟ@問題讓antirez怎么答,總不能不謙虛吧。仔細聽,他回答得很好。)這得看使用場景,基本上還是就事論事、具體情況具體分析。程序員的本事不就
體現在選擇正確的技術,然后在不同情況下優化嘛。你要考慮數據模型是否匹配所要解決的問題,運維因素,持久化保證,性能(需要多少個結點),可擴展性,是
否簡單(搞這么復雜以后會不會老要我來支持?。鹊?。

  其他同學提到了memcached,有人評論:現在memcached已經只相當于Redis最簡單的功能了,只能作為緩存。Redis不僅能緩存,還能承擔很多存儲任務。此外還有人提及HyperDex,但其ACID特性實現Warp是專有的產品。

  此前的這個大型NoSQL比較文章,仍然有一定參考價值:http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis


有了Cluster,Sentinel是不是就廢啦。

  還沒那么快,Sentinel還在與Cluster并行繼續開發中。目前單實例場景下需要HA的話,它還是最佳選擇。但長遠(可能很長遠哦)看,我們會用Cluster解決Sentinel的使用場景,不過在那之前我們會很早就告訴大家的。

誰能給我更詳細地講講"embedded string"對象編碼是啥,它針對什么工作負荷?能找到的文檔都太老了。

  這事兒簡單。一般Redis里會有包含類型字段的對象結構,還有一個指針指向實際的對象表示。假設類型是REDIS_STRING,就得有指針指向一個"sds"字符串(sds是字符串庫用的名字)。

 
 現在有了embedded
string之后,就提供了一種特殊的字符串對象,用一個位置保持對象結構和字符串本身。這樣內存利用更有效,而且能夠大大改進內存本地性,所以差不多所
有使用字符串對象的東西(字符串,或者比較大的要用字符串對象作為集合值的集合對象)性能都更好。

  這種特殊字符串只用于小字符串(工作負荷里大多數字符串都不大)。

Redis

 
 Redis是一個開源的高級key-value(鍵-值)緩存與存儲,以高性能著稱。它也常被稱為數據結構服務器,因為其中的鍵可以存各種數據結構包括
字符串、散列、列表、集合、有序集合、位圖和hyperloglog。Redis的出現,很大程度補償了memcached這類KV數據庫的不足。不僅可
以用于緩存,也可以用于一些場景的存儲,在很多情況下是關系數據庫很好的補充。它提供了Python,Ruby,Erlang,PHP客戶端,使用非常方
便。

原文鏈接:http://www.lupaworld.com/portal.php?mod=view&aid=251638

原創文章,作者:追馬,如若轉載,請注明出處:http://www.www58058.com/2399

(0)
追馬追馬
上一篇 2015-04-03 00:37
下一篇 2015-04-03 09:05

相關推薦

  • 初識Linux

                              初認識Linux 1.1 Linux的登錄界面 在虛擬機安裝CentOS 7中有提到,我在安裝Linux操作系統的時候,采用的是命令行界面的登錄方式,當然也有像Windows那樣…

    Linux干貨 2016-10-27
  • MySQL 多實例詳解

    目錄 一、基本概念 1、MySQL多實例        就是在一臺機器上面開啟多個不同的端口,運行多個MySQL服務進程。這些MySQL多實例公用一套安裝程序,使用不同的(也可以是相同的)配置文件,啟動程序,數據文件。在提供服務時候,多實例MySQL在邏輯上看來是各自獨立的,多個實例的自身是根據配置…

    Linux干貨 2015-09-23
  • 如何使用openssl工具創建私有CA

    一、CA及證書 非對稱加密是為了保證互聯網中通訊信息安全使用的一種算法,密鑰是成對出現(公鑰和私鑰),它的特點是發送方A使用接收方B的公鑰加密數據,所有只有B擁有與之配對的私鑰解密該數據,反之亦然。那么,A和B之間怎么交換得到對方的真實安全的公鑰呢?此時就需要一個權威的機構來驗證公鑰的合法性,這個機構稱之為CA(Certification Authority…

    2017-07-16
  • Windows PHP 中 VC6 X86 和 VC9 X86 的區別及 Non Thread Safe 的意思

    PHP5.3以后 For Windows 提供了四個版本VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe 在 官網 左邊欄有提示: Which version do I choose? If you are usi…

    Linux干貨 2015-06-16
  • 設計模式 ( 十九 ) 模板方法模式Template method(類行為型)

    設計模式 ( 十九 ) 模板方法模式Template method(類行為型) 1.概述 在面向對象開發過程中,通常我們會遇到這樣的一個問題:我們知道一個算法所需的關鍵步驟,并確定了這些步驟的執行順序。但是某些步驟的具體實現是未知的,或者說某些步驟的實現與具體的環境相關。例子1:銀行業務辦理流程在銀行辦理業務時,一般都包含幾個基本固定步驟:取號排隊->…

    Linux干貨 2015-04-07
  • Hadoop HDFS分布式文件系統設計要點與架構

    Hadoop簡介:一個分布式系統基礎架構,由Apache基金會開發。用戶可以在不了解分布式底層細節的情況下,開發分布式程序。充分利用集群的威力高速運算和存儲。Hadoop實現了一個分布式文件系統(Hadoop Distributed File System),簡稱HDFS。HDFS有著高容錯性的特點,并且設計用來部署在低廉的(low-cost)硬件…

    Linux干貨 2015-04-13

評論列表(1條)

  • stanley
    stanley 2015-04-03 10:40

    終于有集群大招了 ~普大喜奔

欧美性久久久久