龙空技术网

Redis5.0新特性

IT技术圈 132

前言:

今天同学们对“redis50新特性”大致比较关注,我们都需要学习一些“redis50新特性”的相关文章。那么小编同时在网络上网罗了一些关于“redis50新特性””的相关资讯,希望你们能喜欢,各位老铁们一起来了解一下吧!

stream--一种新的数据类型

之前redis共有7中数据类型:

字符串(string),哈希(hash),列表(list),集合(set),有序集合(sorted set)

位图 ( Bitmaps ),基数统计 ( HyperLogLogs )

现在又加了一种stream

Redis stream本质上是个时序数据结构

支持多播的可持久化的消息队列,用于实现发布订阅功能

集群管理功能集成到redis-cli

在Redis4.x及之前版本,需要安装redis-trib模块管理集群,因为绝大部分集群功能需要依赖redis-trib模块实现。

Redis 5.x及以上版本彻底抛弃了ruby,将集群管理功能集成到了redis-cli工具中。

配置文件redis.confsalve名词全部替换为replica

因为政治正确的原因,slave这个词不能用了,所有redis.conf中全部替换为replica

所以,主从配置由以前的slaveof <masterip> <masterport> 改为 replicaof <masterip> <masterport>

还有很多主从配置的命令也同样修改了

从5.0开始,备节点默认将忽略maxmemory这个参数

过期数据的淘汰只会发生在主节点,然后同步del命令给备节点进行删除

aof-use-rdb-preamble默认为打开了

这个功能就是当aof文件进行重写时,用rdb格式保存当前的数据,新的数据用aof追加

以前这个配置默认时关闭的,现在改为打开了

动态hz参数dynamic-hz

hz参数用于指定Redis后台任务的执行频率,这些任务包括关闭超时的客户端连接、主动清除过期key等。

5.0之前的redis版本,hz参数一旦设定之后就是固定的了。

hz默认是10。这也是官方建议的配置。

如果改大,表示在reids空闲时会用更多的cpu去执行这些任务。官方并不建议这样做。

但是,如果连接数特别多,在这种情况下应该给与更多的cpu时间执行后台任务。

所以有了这个dynamic-hz参数,默认就是打开。当连接数很多时,自动加倍hz,以便处理更多的连接。

增加了一个rdb持久化时优化

rdb-save-incremental-fsync默认就是true

rdb文件每增加32mb 就执行fsync一次(增量式,避免一次性大写入导致的延时)

这个是针对rdb模式的优化,aof模式在4版本的时候已经有这个优化了aof-rewrite-incremental-fsync

增加了绑核配置

可以将不同的redis的线程和进程绑定到特定的cpu上,以便最大化利用服务器的性能。 这项能力在将redis的不同线程绑定到不同cpu时很有用,更有用的场景是在一台server上 启动多个redis实例,可以将不同的redis绑定到指定的cpu上。 语法和taskset命令(linux的绑核命令)一样

能够在arm上启动redis了

在arm64架构下启动redis会报ARM64-COW-BUG警告,redis不能启动。可以开启这个忽略 ignore-warnings ARM64-COW-BUG

标签: #redis50新特性