Redis 3.0.0正式版發(fā)布,全新的分布式高可用數(shù)據(jù)庫
來源:易賢網(wǎng) 閱讀:965 次 日期:2015-05-04 14:13:52
溫馨提示:易賢網(wǎng)小編為您整理了“Redis 3.0.0正式版發(fā)布,全新的分布式高可用數(shù)據(jù)庫”,方便廣大網(wǎng)友查閱!

Redis 3.0.0 正式版終于到來了!最重要的新特性是集群(Redis Cluster),提供Redis功能子集(比如不支持多數(shù)據(jù)庫)的分布式、容錯的實現(xiàn)(最多支持1000結點)。Salvatore ‘a(chǎn)ntirez’ Sanfilippo在Google Groups里表示,這是Redis的重要時刻。“我相信今天的Redis 3.0.0將以某種方式完全改變Redis的面貌?!彼麖娬{(diào),人們將認識到Redis是一個全新的東西,它的自動擴展、容錯和高可用性都大大提高,從此能夠在更大范圍承擔更關鍵的任務。(我總結一下老大的意思吧:Redis翻開了歷史新的篇章……)antirez還透露,內(nèi)置的集群功能持續(xù)干了很多年,雖然能找到一些時間密集開發(fā),但也不時被其他特性完全打斷,現(xiàn)在終于完成了。他預計社區(qū)能用好這些功能,積累必要的經(jīng)驗,還要一到兩年。

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

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

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

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

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

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

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

MIGRATE connection caching. Much faster keys migraitons.

MIGARTE new options COPY and REPLACE.

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

BITCOUNT performance improvements.

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

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

INCR performance improvements.

詳情可以點擊 這里 查看。

ITEye上powersoft同學之前翻譯了Redis 3.0的文檔,雖然還沒有來得及更新,但還是有參考價值的:。

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

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

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

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

此前的這個大型NoSQL比較文章,仍然有一定參考價值:

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

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

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

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

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

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

Redis

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

更多信息請查看IT技術專欄

更多信息請查看數(shù)據(jù)庫

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權所有:易賢網(wǎng)