Redis 6能利用多核CPU吗



由于Redis 6支持多线程IO,在2核以上的机器上部署Redis有意义吗?它能利用额外的内核吗?还是2个内核仍然是理想的(一个用于主线程,另一个用于处理bgsave和其他内务操作(?

类似地,在AWS ElastiCache上,使用>2个vCPU?

根据发行说明,我想是的。这里有一条小信息:

尽管Redis以高性能著称,但其单线程架构在工程师中一直存在争议,他们怀疑Redis是否可以更快。Redis 6开启了一个新时代:虽然它保留了核心的单线程数据访问接口,但I/O现在是线程化的。

通过将读写I/O套接字的时间委派给其他线程,Redis进程可以将更多的周期用于操作、存储和检索数据,从而提高整体性能。这一改进保留了以前版本的事务特性,因此您不必重新思考应用程序以利用提高的性能。类似地,Redis的单线程DEL命令现在可以配置为与Redis版本4以来可用的多线程UNLINK命令类似。

局部变量的性能几乎总是无与伦比的。最后,即使是像Redis这样高性能的数据库,也会比从堆栈或堆中访问东西慢得多。Redis 6为复杂的客户端库添加了一种新技术,以实现客户端缓存层,从而在您自己的进程中存储数据子集。这个实现足够智能,可以管理对同一数据的多次更新,并使您的数据尽可能同步,同时以本地变量的速度保留Redis的优势。

您还可以将其与您的实例/工作负载配置文件的redis基准测试或memtier线束进行检查/比较。

相关内容

  • 没有找到相关文章

最新更新