微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Redis 6可以利用多核CPU吗?

如何解决Redis 6可以利用多核CPU吗?

Redis 6 supports multi-threaded IO起,在具有2个以上内核的计算机上部署Redis是否有意义?它将能够利用附加内核还是仍然理想的2个内核(一个用于主线程,另一个用于处理bgsave和其他内部操作)?

类似地,在AWS ElastiCache上使用大于2个vcpu的实例类型有意义吗?

解决方法

我猜是基于release notes的。 这里有一些小信息:

尽管Redis因其高性能而享有盛誉,但其单线程体系结构一直引起工程师的争议,他们怀疑Redis是否可以更快。 Redis 6在一个新时代响起:尽管它保留了核心的单线程数据访问接口,但现在I / O已成为线程。

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

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

您还可以使用redis-benchmarkmemtier线束来检查/比较实例/工作负载配置文件。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。