redis7性能和资源利用率有了较大的优化和提高:

多AOF文件支持

aof文件由一个变成了多个,主要分为两种类型:基本文件(base files)、增量文件(lincr files),请注意这些文件名称是负数形式说明每一类文件不仅仅只有一个。在此之外还引入了一个清单文件(manlfest)用于跟踪文件以及文件的创建和应用顺序(恢复)

config命令增强

对于Config set 和Get命令,支持在一次调用过程中传递多个配置参数,例如:现在我们可以再执行一次 Config Set 命令中更改多个参数;config set maxmemory 100000 maxmemory-clients 50% port6399

限制客户端内存使用Client-eviction

一旦redis连接较多,再加上每个连接的内存占用都比较大的时候。Redis总连接内存占用会达到maxmemory的上限,可以增加允许限制所有客户端的总内存使用配置项。redis.config中对应的配置项。

2种配置形式,指定内存大小、基于maxmemory的百分比。

maxmemory-clients 1g

maxmemory-clinets 10%

lispack紧凑列表调整

lispack用来替代ziplist的新数据结构,在7.0版本已经没有ziplist的配置了,listpack已经替换了ziplist类似hash-max-ziplist-entries的配置

访问安全性增强ACLV2

在redis.conf配置文件中,protected-mode默认为yes,只有当你希望你的客户端在没有授权的情况下可以连接到redis server的时候可以将protected-mode设置为no redis functions

redis函数,一种新的通过服务端脚本扩展redis的方式,函数与数据本身一起存储。简而言之,redis自己要去抢夺Lua脚本的饭碗。

RDB保存时间调整

Zset(有序集合)增加ZMPOP、BZMPOP、ZINTERCARD等命令,Set(集合)增加SINTERCARD命令

LIST(列表)增加LMPOP、BLMPOP,从提供键名列表中的第一个非空列表键中弹出一个或多个元素。

性能资源利用率、安全、等改进

自身底层部分优化改动,redis核心在许多方面进行了重构改进,主动碎片整理V2,增强版主动碎片整理,配合Jmalloc版本更新。更快捷更智能,延时更低。Hyperloglog算法改进,又花了技术统计的内存使用率,更加优秀的内存统计报告。