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中高级文件系统管理

    一、磁盘配额管理             定义:限制普通用户对某个目录写空间大小的限制     1、此策略是针对文件系统,并非硬盘     2、可以根据不同组和不同用户进行不同的策…

    Linux干货 2016-08-29
  • 第四周-grep正则表达式简单应用

    复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 cp -r /etc/skel /home/tuser1 && chmod 700 -R /home/tuser1 编辑/etc/g…

    Linux干货 2016-08-02
  • samba服务实现:linux和windows之间共享

    1,首先在linux(centos6,7)安装好samba程序:     yum -y install samba   samba-common        主配置文件:/etc/samba/smb.conf   ~]# groupadd share_gro…

    2017-03-05
  • ldirectord 结合ipvsadm 配置nat,dr模型

    ldirectord 结合ipvsadm 配置nat,dr模型  一、nat模型 1、 drector # wget ftp://172.16.0.1/pub/Sources/7.x86_64/crmsh/ldirectord-3.9.6-0rc1.1.1.x86_64.rpm # yum -y install nginx (同时用于做为sorry…

    Linux干货 2014-01-03
  • Linux 第11&12天: Linux软件包管理

    Linux 第11&12天: Linux软件包管理      在系统管理中, 软件包的管理是最重要的, 是系统管理的基础,   本文主要是记录内容有: RPM二进制包的管理,YUM二进制包的管理, 源代码包的管理   软件运行环境API:Application Programming Interfac…

    Linux干货 2016-08-22
  • 正则表达式及用户管理命令

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 2、取出最后登录到当前系统的用户的相关信息。 3、取出当前系统上被用户当做其默认shell的最多的那个shell。 4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxuser.txt文件中。 6、列出/etc目录…

    2017-10-10

评论列表(1条)

  • stanley
    stanley 2015-04-03 10:40

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