文档章节

Redis 4.0-rc1 发布,超高性能 key-value 数据库

孟森
 孟森
发布于 2016/12/08 09:35
字数 959
阅读 1000
收藏 14

Redis 4.0-rc1 发布了,这是 4.0 的首个 RC 版。Redis 是一个高性能的key-value数据库。Redis 的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。

以下是该版本发布值得关注的内容: 主要特点

Redis模块化系统.Redis现在允许开发人员编写可以扩展Redis功能并实现新数据类型的模块。模块API实现了一个完整的抽象层,将Redis核心与模块实现分离开来,允许不同版本的Redis加载相同的模块,而无需修改。有关详细信息,请参阅模块文档:https://github.com/antirez/redis/blob/unstable/src/modules/INTRO.md

部分复制(PSYNC)版本2.复制协议被增强(以向后兼容的方式,使得4.0仍然可以作为较旧实例的从属),以便能够在不可能的情况下部分地重新同步从设备和主设备过去:在主交换机之后,由于故障转移和从实例被重新启动。即使主设备变成从设备通常也能够与新主设备部分重新同步,如果新主设备是旧主实例的从设备。链接从属(子从属)的复制工作方式现在非常不同,每个从属接收由顶级主控生成的同一复制流。

缓存淘汰算法改进.Redis 4.0实现了LFU(Least Frequently Used)作为新的驱逐算法,提高了现有算法的功能,性能和精度。此博客包含有关更改的信息:http://antirez.com/news/109

键的异步释放.Redis现在能够在不同线程的后台删除键而不阻塞服务器。新的UNLINK命令与“DEL”命令相同,但是以非阻塞的方式工作。类似地,为了使整个数据集或单个数据库被异步释放,在FLUSHALL和FLUSHDB中添加了一个“ASYNC”选项。

混合RDB-AOF格式。如果在重写AOF文件时启用了新格式:重写使用更紧凑和更快速的生成RDB格式,并将AOF流附加到文件。这允许在使用AOF持久性时更快的重写和重新加载。

新的内存监控命令,能够执行不同类型的内存分析:内存问题的故障排除(使用MEMORY DOCTOR,类似于LATENCY DOCTOR),报告单个键使用的内存量,更深入地报告Redis内存用法与INFO命令提供的相比。

Redis集群对NAT / Docker的支持。为了强制集群实例向集群的其余部分通告特定的IP地址,客户端和总线端口集合,不管自动检测到IP是否有新的功能。这需要总线协议更改,这将强制用户批量重新启动Redis 3.2安装的所有节点,以升级到4.0。

增益取决于存储的数据集的种类。

较小的功能

RDB文件检查实用程序现在使用与Redis本身使用的代码库相同的代码库,以便将RDB文件加载到内存中。RDB格式支持64位长度,二进制排序集分数等。

SWAPDB命令:完全立即(无延迟)替换两个Redis数据库的能力。

改进`dict.c',Redis哈希表实现。

安全改进将POST和Host:命令映射到QUIT,以防止跨协议脚本攻击。

RPUSHX和LPUSHX现在接受可变数量的元素。

报告在INFO输出中写入时使用的附加内存。

Redis的许多核心部分的严重重构。

发布主页相关链接

下载地址

Source code (zip)

Source code (tar.gz)

https://redis.io/download

© 著作权归作者所有

共有 人打赏支持
孟森
粉丝 4
博文 21
码字总数 18396
作品 0
朝阳
程序员

暂无文章

day92-20180918-英语流利阅读-待学习

健身最大的敌人不是懒惰,而是逞强 Daniel 2018-09-19 1.今日导读 还记得 2008 年北京奥运会运动员刘翔的退赛风波吗?那天几乎所有中国人都将视线聚焦在了鸟巢体育馆 110 米栏的项目上,迫不...

飞鱼说编程
19分钟前
1
0
70.shell的函数 数组 告警系统需求分析

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析 20.16/20.17 shell中的函数: ~1. 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段...

王鑫linux
今天
3
0
分布式框架spring-session实现session一致性使用问题

前言:项目中使用到spring-session来缓存用户信息,保证服务之间session一致性,但是获取session信息为什么不能再服务层获取? 一、spring-session实现session一致性方式 用户每一次请求都会...

WALK_MAN
今天
6
0
C++ yield()与sleep_for()

C++11 标准库提供了yield()和sleep_for()两个方法。 (1)std::this_thread::yield(): 线程调用该方法时,主动让出CPU,并且不参与CPU的本次调度,从而让其他线程有机会运行。在后续的调度周...

yepanl
今天
4
0
Java并发编程实战(chapter_3)(线程池ThreadPoolExecutor源码分析)

这个系列一直没再写,很多原因,中间经历了换工作,熟悉项目,熟悉新团队等等一系列的事情。并发课题对于Java来说是一个又重要又难的一大块,除非气定神闲、精力满满,否则我本身是不敢随便写...

心中的理想乡
今天
55
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部