Redis 6 可以利用多核 CPU 的优势吗?

2024-01-04

Since Redis 6支持多线程IO https://redislabs.com/blog/diving-into-redis-6/,在超过2个核心的机器上部署Redis有意义吗?它是否能够利用额外的核心,或者 2 个核心仍然是理想的选择(一个用于主线程,另一个用于处理 bgsave 和其他内务操作)?

同样,在 AWS ElastiCache 上使用具有 >2 个 vCPU 的实例类型是否有意义?


基于发行说明 https://redislabs.com/blog/diving-into-redis-6,我想是的。 这是来自那里的一条小信息:

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

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

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

您还可以检查/比较它Redis 基准测试 https://redis.io/topics/benchmarks or memtier https://github.com/RedisLabs/memtier_benchmark用于您的实例/工作负载配置文件的工具。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Redis 6 可以利用多核 CPU 的优势吗? 的相关文章

随机推荐

  • Git 中的 HEAD^ 和 HEAD~ 有什么区别?

    当我在 Git 中指定祖先提交对象时 我很困惑HEAD and HEAD 两者都有一个 编号 版本 例如HEAD 3 and HEAD 2 它们对我来说看起来非常相似或相同 但是波浪号和插入符号之间有什么区别吗 经验法则 Use 大多数时候
  • 使用自定义适配器时如何获取 onItemClick(ListView) 中行的 id?

    我搜索了一段时间但找不到解决方案 情况 我正在使用一个ListView我有一个CursorSQLiteDatabase query 的结果 如果我使用一个SimpleCursorAdapter 什么时候 你打电话onItemClick Ad
  • R:重新思考数据(如何重新排列一组列中的一列?)

    我有这样的表 A B C 1 a b 1 2 a b 2 3 a b 3 4 a2 b1 1 5 a3 b2 3 例如 A 列 是一个属 例如E B 列是一个物种 E coli C 列是项目的类别 无关紧要 所以我需要了解 项目 b 由多少
  • 使用gunicorn和Flask时出现CSRF令牌错误

    我开发了一个网络应用程序 其中包含用户登录和注册的功能 我已经按照文档和教程完成了所有操作 并且 Flask 服务器一切正常 问题是 我使用gunicorn并启动一个Web服务器 打开地址 localhost 8000 在几种不同的浏览器
  • 自定义 MKAnnotation 标注视图?

    我有一个MKPointAnnotation let ann MKPointAnnotation self ann coordinate annLoc self ann title Customize me self ann subtitle
  • Oracle 将行转为列[重复]

    这个问题在这里已经有答案了 我有以下表格 TABLE1 id name 1 n1 2 n2 TABLE2 id tipo valor 1 t1 v1 1 t2 v2 2 t1 v1 2 t2 v5 2 t3 v3 我试图得到 id name
  • 如何在 Django JSONField 中过滤 JSON 数组

    我对在 Django 2 0 3 中过滤 postgres JSONField 感到疯狂 json 以数组形式存储 例如 tasks task test level 10 task test 123 level 20 我尝试过的 myMod
  • grails图像绝对路径

    我的标题模板中有这张图片 img src images slide 1 jpg alt width 175 height 77 当从 main 目录内的 gsp 文件使用模板时 将加载图像 不过 如果我在控制器内的 gsp 文件中使用相同的
  • ProcessBuilder调试

    我创建了一个可执行 jar 并使用另一个 java 程序的进程构建器执行它 这是我的代码 public class SomeClass public static void main String args Process p null P
  • VB.NET 相当于 C# 的 using 指令

    我正在将一些代码从 C 转换为 VB NET 并且我需要知道 C 的 using 指令的等效项是什么 Update 抱歉 但到目前为止我还没有得到答案 这是一个 C 示例 using moOutlook Microsoft Office I
  • 在 .NET MVC4 中调用本地 Web 服务时出现 HTTP 404 错误

    我正在尝试学习 NET mvc4 中的 Web 服务 我尝试创建一个新的 Internet 应用程序并向该项目添加一个 Web 服务 asmx 默认情况下 VS 添加一个 HelloWorld Web 服务 当我尝试在浏览器中运行它时 我确
  • jasmine需要sinon.js吗?

    我在网上看到过人们使用的例子jasmine http pivotal github com jasmine 和 一起sinon http sinonjs org 然而 茉莉支持间谍 据我所知 诗乃就是这么做的 那么问题来了 诗浓在使用茉莉花
  • 由于 COMMAND_LINE_LOGGING_LEVEL 原因,无法导入 Markdown

    我遇到了一个奇怪的错误 我可以在 Python 中导入 markdown 并且可以在 Django runserver 内的 python 中导入 markdown 但是当尝试在 Gunicorn 的应用程序服务器内导入 markdown
  • 找不到网络浏览器:无法找到可运行的浏览器。 Jupyter笔记本

    Jupyter notebook 无法打开网络浏览器 之前用的好好的 后来windows 10提示更新后就开始在Microsoft Edge中打开了 当我尝试将其更改为默认浏览器 chrome 时 它根本无法打开 我跟着如何在 Window
  • 用于 Excel 克隆的正确数据结构

    假设我正在使用 C 开发 Excel 克隆 我的网格表示如下 private struct CellValue private int column private int row private string text private L
  • 如何卸载 Perl 模块?

    我在我的 Linux 机器上安装了一些 Perl 模块 如果我输入perldoc perllocal它显示了我的机器中安装的 Perl 模块的列表 但现在我不需要这些 Perl 模块 所以我想删除它们 有谁知道如何卸载或删除Linux de
  • PHP - 比较两个多维数组

    我有两个包含数据的数组 我需要比较这两个数组并创建一个最终数组 这是我的情况 grab a list of the folders folders glob GLOB ONLYDIR create empty array s which w
  • 重试 Visual Studio C# 测试方法

    我很好奇是否有任何内置机制可以retry在 Visual Studio 2008 C 单元测试框架中进行测试 举个例子 我有一个 C 单元测试 如下所示 TestMethod public void MyMethod DoSomething
  • 从一个 dagger 2 模块如何访问另一个 dagger 2 模块中提供的 SharedPreferences

    从一个 dagger2 模块提供 SharedPreferences 后 在另一个 dagger2 模块中想要使用它 怎么做 下面的代码似乎不起作用 组件 Singleton Component modules arrayOf DataMa
  • Redis 6 可以利用多核 CPU 的优势吗?

    Since Redis 6支持多线程IO https redislabs com blog diving into redis 6 在超过2个核心的机器上部署Redis有意义吗 它是否能够利用额外的核心 或者 2 个核心仍然是理想的选择 一