`

redis 3.0 新特性

阅读更多

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客户端,使用 非常方便。

分享到:
评论

相关推荐

    redis3.0安装包 window 64位

    2、Redis 3.0新特性: (1)支持Lua脚本:Redis 3.0支持Lua脚本,可以在Redis中执行脚本,大大提高了Redis的灵活性和可扩展性; (2)可插拔模块化:Redis 3.0提供了可插拔的模块化功能,可以根据用户的需求,自定义...

    某播客Redis3.0新特性、主从复制、集群视频教程

    某播客Redis3.0新特性、主从复制、集群视频教程 某播客Redis3.0新特性、主从复制、集群视频教程 某播客Redis3.0新特性、主从复制、集群视频教程

    redis最新3.0版本

    Redis是一款开源、高性能的键值对存储系统,常被用于数据库、缓存和消息中间件。Redis 3.0版本是其发展历程中的一...对于开发者来说,了解并掌握这些新特性和改进,将有助于更好地利用Redis 3.0构建高效、可靠的服务。

    redis3.0 64位

    2. **Redis 3.0新特性** - **jemalloc内存管理器**:Redis 3.0引入了jemalloc作为默认内存管理器,提升了内存效率和并发性能。 - **LUA脚本支持**:通过EVAL命令,可以在Redis中执行LUA脚本,实现更复杂的逻辑。 ...

    redis 3.0 win7 32位x86

    Redis 3.0是Redis的一个重要版本,发布于2015年,引入了多个新特性和改进。其中最重要的是引入了Stream数据类型,这为存储时间序列数据提供了可能。此外,还优化了内存管理,提高了性能,并修复了许多已知问题。 **...

    redis3.0-window免安装

    本资源“redis3.0-window免安装”是专门为Windows操作系统设计的Redis 3.0版本,旨在简化在Windows平台上的部署和使用流程。 Redis 3.0是一个重要的版本,它引入了多项新特性和改进,包括但不限于: 1. **多线程...

    redis3.0-windows

    这个"redis3.0-windows"压缩包文件显然包含了Redis 3.0版本的Windows兼容版本,允许用户在Windows操作系统上运行和管理Redis实例。 Redis的核心特性包括: 1. **键值存储**:Redis的基础是键值对存储,它允许存储...

    redis windows安装包 3.0.503

    同时,了解Redis的数据类型(字符串、哈希、列表、集合、有序集合)以及事务、发布订阅、主从复制、哨兵系统等高级特性,对于开发高可用的应用至关重要。 总的来说,安装Redis 3.0.503在Windows上需要配置服务、...

    Windows下Redis3.0 编译过后的exe

    在Windows环境下编译Redis3.0,可以让你在本地系统上测试和开发基于Redis的应用,尤其是利用其新特性——Cluster。 **Redis3.0的新特性:** 1. **Cluster支持**:Redis 3.0引入了Cluster功能,这是一个分布式解决...

    Redis 3.0 中文版,纯文字版

    在Redis 3.0版本中,它已经具备了丰富的特性和功能,使其成为开发者们青睐的NoSQL数据库之一。以下是关于Redis 3.0的一些关键知识点: 1. **数据类型**:Redis支持五种基本数据类型,包括字符串(String)、哈希(Hash...

    redis3.0 windows64位

    "redis3.0 windows64位" 版本是指Redis的3.0版本,特别适配于Windows操作系统64位环境。在Windows上部署Redis可能与Linux或Unix系统有所不同,因为Redis通常是为类Unix系统优化的。Windows版Redis提供了方便Windows...

    redis-3.0.504 for windows

    Redis是一种开源、高级的键值存储系统,常用于数据库、缓存和消息中间件等场景。在Windows环境下,Redis的安装和使用...在实际工作中,根据项目需求灵活运用Redis的各项特性,将有助于优化系统的架构和提升用户体验。

    Redis3.0.504

    9. **安全特性**:虽然Redis本身不提供强大的安全机制,但在部署时可以通过配置文件设置访问控制,例如限制客户端的IP地址,以提高系统安全性。 10. **社区支持**:作为开源项目,Redis 3.0.504背后有活跃的社区...

    redis3.0 demo

    在这个“redis3.0 demo”中,我们可以期待看到如何利用这些新特性来构建实际的应用场景。下面,我们将详细探讨Redis 3.0的关键知识点。 1. **Cluster模式**: - 文件名`redis.cluster`暗示了我们可能在研究Redis的...

    Redis 3.0.pdf

    Redis 3.0版本的发布,不仅带来了新的数据类型和特性,还优化了性能和稳定性,使其在分布式系统和大数据应用中扮演了更为重要的角色。理解并熟练掌握Redis的各种特性和应用场景,对于提升系统性能和设计复杂架构具有...

    redis3.0.501绿色版

    数据持久化是Redis的重要特性之一,主要有两种方式:RDB(Redis Database Backup)和AOF(Append Only File)。RDB是在特定时间点生成数据库的快照,而AOF则记录所有的写操作命令,在Redis重启时回放这些命令来恢复...

    Redis3.0.501 windows版本

    总结,Redis 3.0.501 Windows版本为开发者提供了在Windows平台使用Redis的可能性,尽管与Linux环境有所不同,但通过理解其特性和配置,开发者可以在Windows系统上充分利用Redis的强大功能。在实际应用中,注意监控、...

Global site tag (gtag.js) - Google Analytics