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的重要时刻。“我相信今天的Redis 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回答了社区提出的一些问题,颇有价值,整理翻译如下。

这是不是愚人节笑话啊?

  非也,我们一向有在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.178linux.com/2399

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

相关推荐

  • Linux发展史

    Linux发展史 操作系统出现前:   1946年第一台计算机诞生–20世纪50年代中期,还未出现操作系统,计算机工作采用手工操作方式。程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算完毕,打印机输出计算结果;用户取走结果并卸下纸带(或卡片…

    Linux干货 2016-10-14
  • Linux系统网络属性管理之配置文件

        Linux有许多管理网络属性的命令但基本都是只能临时有效,想要永久有效就要更配其配置文件。现在,让我们来看看有哪些关于网络配置的配置文件。     配置文件: IP/NETMASK/GW/DNS等属性的配置文件/etc/sysconfig/network-scripts/ifcfg…

    Linux干货 2016-09-18
  • 简述linux文件系统的层次结构

       尽管LINUX有诸多的发行版,但是所有的版本都遵从同样的文件目录层次结构,即FHS(Filesystem Hierarchy Standard)。有了这个统一的标准,我们在使用不同版本的LINUX时就不会由于版本的不同而找不到相关系统文件的位置,了解FHS有助于我们更好的掌握LINUX的基础构架和文件系统管理。   &nb…

    Linux干货 2015-12-19
  • shell脚本编程进阶

    一些常用的编程语句,

    2017-12-23
  • 文本三剑客之awk

    文本三剑客之awk 简介      awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk的处理文本和数据的方式是这…

    2017-09-06
  • vim用法小结

    vim使用: 使用vi和vim的三种主要模式 : 命令模式,插入模式,扩展模式    扩展模式: w:写入磁盘文件 wq:写入并退出 x:写入并退出 q:退出 q!不存盘退出,即使更改都将丢失 r filename:读文件内容到当前文件中 w filenane: 将当前文件内容写入到另一个…

    Linux干货 2016-08-12

评论列表(1条)

  • stanley
    stanley 2015-04-03 10:40

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