gpt4 book ai didi

c++ - redis性能问题

转载 作者:IT王子 更新时间:2023-10-29 06:03:46 32 4
gpt4 key购买 nike

我正在尝试在 debian 环境中通过 c++ 客户端使用 redis 来存储大的字符串列表(每个列表近 200 万个字符串)。我曾经使用 boost 库的无序集来处理这个问题,但由于我必须定期将每个列表保存到文件系统并且我得到大量更新和删除而不是开发我的数据库系统,所以我想试试 redis。

我的 redis 配置没有任何定期保存,我打算在更新完成后手动将所有更改保存在内存中。但出于测试目的,我什至没有执行保存到磁盘的操作。我的测试应用程序执行 200 万次写入,耗时将近 100 秒。这是纯内存操作,因为我没有执行任何快照操作(我将配置设置为根本不保存)

如果我使用无序集执行相同的 200 万次插入,则需要将近 5 秒的时间。互联网上的每个技术站点都说,redis 非常快,但就我而言,即使不涉及 IO,它也比 boost 的无序集慢近 50 倍,为什么会这样?我是否忽略了这里明显的东西?

最佳答案

您可能想阅读 Redis benchmark page

Redis 对于远程 存储是高效的。

您正在尝试将本地存储 (boost::unordered_set) 与远程存储 (Redis) 进行比较。与执行往返 Redis 的成本相比,在内存中维护集合的成本可以忽略不计。如果您的 Redis 实例托管在同一个盒子上,也是如此。任何 IPC 都比哈希表查找昂贵得多。

关于c++ - redis性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8634072/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com