阅读更多
Redis 3.0.0 正式版终于到来了!最重要的新特性是集群(Redis Cluster),提供Redis功能子集(比如不支持多数据库)的分布式、容错的实现(最多支持1000结点)。

Salvatore 'antirez' Sanfilippo在Google Groups里表示,这是Redis的重要时刻。“我相信今天的Redis 3.0.0将以某种方式完全改变Redis的面貌。”他强调,人们将认识到Redis是一个全新的东西,它的自动扩展、容错和高可用性都大大提高,从此能够在更大范围承担更关键的任务。(我总结一下老大的意思吧:Redis翻开了历史新的篇章……)

antirez还透露,内置的集群功能持续干了很多年,虽然能找到一些时间密集开发,但也不时被其他特性完全打断,现在终于完成了。他预计社区能用好这些功能,积累必要的经验,还要一到两年。

他还说,Redis 3.0.0实际上标志着一个新阶段和新的开发模式的开始。以后,大量已经开发的新功能将不再急于进入稳定版本,实际上Redis 3.0.0就放弃了很多新功能,回退到2.8,以保证新的稳定版本用户能够马上使用。

他在帖子里重点提及的其他更新包括:
  • 新的"embedded string"对象编码,提升缓存命中率。在某些工作负载(尤其是管道化的高负载)下速度大幅提高。
  • 大大改进了回收键的LRU近似算法。
  • AOF重写功能被完全重新开发了,以减少进程最终将积累的缓冲写入时,由于硬盘速度慢而导致的延迟。

而在发布声明中还列出了如下更新(相对于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的文档,虽然还没有来得及更新,但还是有参考价值的: http://www.iteye.com/blogs/subjects/redis3

Hacker News上antirez回答了社区提出的一些问题,颇有价值,整理翻译如下。

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客户端,使用非常方便。
7
0
评论 共 7 条 请登录后发表评论
7 楼 hot66hot 2015-05-13 12:17
wzw_19850911 写道
谁有JAVA版本的集群客户端代码啊  能分享一下吗

https://github.com/xetorthio/jedis
6 楼 wzw_19850911 2015-05-11 14:02
谁有JAVA版本的集群客户端代码啊  能分享一下吗
5 楼 yixiandave 2015-04-07 13:19
等到花都谢了
4 楼 Foxswily 2015-04-07 10:35
墙裂关注,一直用单点,不踏实
3 楼 YuHuang.Neil 2015-04-05 22:00
good job!
2 楼 hot66hot 2015-04-03 10:49
从beta3开始试用,到rc1运用到线上,遇到一些坑,改过jedis,做个N多的测试,都绕过去了。终于出Release了。 赞 Antirez大神
1 楼 qqj_1979 2015-04-02 19:32
有必要欢呼一下

cluster等了好久了

不过,对于稳定还是有些担心

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Linux Redis——Redis 数据库缓存服务

    Memcached/redis是高性能的分布式内存缓存服务器,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web等应用的速度、 提高可扩展性。为弥补关系型数据库的不足,各种各样的NoSQL数据库应运而生。 1.NOSQL ...

  • 非关系型数据库之Redis【redis安装】

    NoSqlredisRedis是使用c语言开发的一个高性能键值数据库。Redis可以通过一些键值类型来存储数据。String字符类型map散列类型list列表类型(有序、可重复)set集合类型(无序,不可重复)sortedset有序集合类型。...

  • Redis-01-NoSQL简介及Redis数据库安装

    一.NoSQL简介1.1 NoSQL概述NoSQL即not only SQL(不仅仅是SQL)的意思,学名叫做非关系型数据库,和我们常见的关系型数据库(如MySQL,Oracle)在原理上有很大差异 非关系型数据库能很好解决web2.0纯动态网站面对的...

  • springboot整合redis数据库1

    3.Jedis使用 4.Redis各种数据类型的操作 5.Redis持久化方案 6.主从复制(了解) 2课程目标 掌握Redis的安装 掌握redis常用数据结构(string/hash/list/sortedset)的存取数据方法 掌握Jedis的用法 3redis介绍 3.1什么是...

  • 基于 Redis 的订阅与发布

    demo-redis-subscribe 创建项目 $ composer create hyperf/biz-skeleton demo-redis-subscribe dev-master Installing hyperf/biz-skeleton (dev-master 1eaa35a957cf704a5c9959c68e426a614c7598a2) - I...

  • Redis 从入门到放弃

    Hacker News在2012年发布了一份数据库的使用情况调查,结果显示有近12%的公司在使用Redis。国内如新浪微博、街旁网、知乎网,国外如GitHub、Stack Overflow、Flickr等都是Redis的用户。 VMware公司从2010年开始赞助...

  • Linux从入门到放弃 Redis

    Redis0、Redis中文文档及版本选择1、NoSQL1、NoSQL应用场景:2、NoSQL数据库四大类型1.KV键值型数据库(1)应用场景:(2)数据库(3)数据类型(4)优点(5)缺点2.文档型数据库(1)应用场景:(2)数据库(3)...

  • Redis

    ​ 为了解决高并发、高可扩展、高可用、大数据存储问题而产生的数据库解决方案,就是NoSql数据库。NoSQL,泛指非关系型的数据库,NoSQL即Not-Only SQL,它可以作为关系型数据库的良好补充。但是它不能替代关系型...

  • 数据库简史(精简版)

    一、RDBMS(关系数据库,Relational DBMS) 数据库早期史 1.1 Oracle简史 1.2 MySQL简史 1.3 Microsoft SQL Server简史 1.4 PostgreSQL简史 1.5 DB2简史 1.6 Microsoft Access简介 1.7 SQLite简介 1.8 ...

  • Redis简介和使用

    为了解决高并发、高可用、高可扩展性,大数据存储等一系列问题而产生的数据库解决方案,即非关系型数据库。 不能替代关系型数据库,只能作为补充。 redis支持数据类型: 1、字符串(String)。二进制安全的...

  • Redis详解【包含:B站面试问题及详解】

    文章目录前言:Nosql的数据库分类Redis发展简史Redis介绍Redis应用场景Redis的特性Redis安装Redis启动前端启动后端启动 前言: 什么是NoSql 为了解决高并发、高可扩展、高可用、大数据存储问题而产生的数据库解决...

  • Redis 3.0 中文版

    https://redis.io/topics/introduction ...Redis 3.0.0 正式版终于到来了!最重要的新特性是集群(Redis Cluster),提供 Redis 功能子集(比如不支持多数据库)的分布式、容错的实现(最多支持 1...

  • redis笔记01_李孟_新浪博客

    NoSql是为了解决高并发、高可扩展、高可用以及高写入而产生的数据库解决方案。 NoSql就是Not Only sql。Nosql是非关系型数据库,它是关系型数据库的良好补充,而不能替代关系型数据库。 1.1Nosql数据库分类 n...

  • Redis集群都有哪些模式

    一,为什么要使用redis 1,解决应用服务器的cpu和内存压力 2,减少io的读操作,减轻io的压力 3,关系型数据库扩展性不强,难以改变表的结构 二,优点 1,nosql数据库没有关联关系,数据结构简单,扩展容易 2,...

  • Redis 入门

    为了解决高并发、高可用、高可扩展,大数据存储等一系列问题而产生的数据库解决方案,就是NoSql。 NoSql,叫非关系型数据库,它的全名Not only sql。它不能替代关系型数据库,只能作为关系型数据库的一个良好补充。...

  • 【Redis】Redis 教程

    为了解决高并发、高可扩展、高可用、大数据存储问题而产生的数据库解决方案,就是NoSql数据库。 NoSQL,泛指非关系型的数据库,NoSQL即Not-Only SQL,它可以作为关系型数据库的良好补充。 1.2 NoSql 数据库分类 键值...

  • 原生js图片圆形排列按钮控制3D旋转切换插件.zip

    原生js图片圆形排列按钮控制3D旋转切换插件.zip

  • 类似c++数组的python包

    内含二维数组与三维数组,分别为list2nd,list3rd

  • 原生js颜色随机生成9x9乘法表代码.zip

    原生js颜色随机生成9x9乘法表代码.zip

Global site tag (gtag.js) - Google Analytics