Redis的性能问题
redis performance concerns
我试图在debian环境下通过c++客户端使用redis来存储大字符串列表(每个列表近200万个字符串)。我曾经使用boost库的无序集来处理这个问题,但由于我必须定期将每个列表持久化到文件系统中,并且我得到了大量的更新和删除,而不是开发我的数据库系统,我想gıve redis a go。
我的redis配置没有定期保存,我计划在更新完成时手动保存内存中的所有更改。但出于测试目的,我甚至没有执行保存到磁盘的操作。我的测试应用程序执行200万次写操作,耗时接近100秒。这是纯粹的内存操作,因为我没有执行任何快照操作(我将配置设置为根本不保存)
如果使用无序集执行同样的200万次插入,则需要近5秒的时间。互联网上的每个科技网站都说,redis超级快,但在我的情况下,它几乎比boost的无序集慢50倍,即使没有IO参与,为什么会这样?我是不是忽略了什么明显的东西?
你可能想要阅读Redis基准测试页面
Redis是有效的远程存储。
你正在尝试比较本地存储(boost::unordered_set)和远程存储(Redis)。与执行到Redis的往返的成本相比,在内存中维护集合的成本可以忽略不计。如果你的Redis实例托管在同一个机器上,这也是正确的。任何IPC都比查找哈希表要昂贵得多。
相关文章:
- 在类中使用随机生成器时出现性能问题
- Qt OpenGL 渲染到纹理性能问题
- 剪辑性能问题
- 使用双包装器类进行位操作(C++、clang)修复性能下降问题
- OpenCV - 基本操作 - 性能问题 [模式:发布]
- 使用 #define 进行跟踪日志记录以避免性能问题
- 在 Qt C++ 中在自定义项委托上绘制文本时的性能问题
- std::函数有性能问题,如何避免?
- 使用 const double* const 作为模板参数 - 代码性能问题
- 在C 中读取大型CSV文件性能问题
- MPI 二进制文件 I/O 基本功能和性能问题
- 如何修复macOS线程互斥锁性能缓慢的问题?
- 使用STD :: MAP在数据及其性能问题中查找重复项.我可以预先分配吗?
- C 功能性能问题
- 一维数组映射方式的性能差异问题
- 在C 性能问题中使用Getter返回地图
- 初始化每个班级成员时的性能问题
- 事件(开始,结束),1天的最大事件.C++ 中的性能问题
- 在X64模式下从C /CLI调用MASM PROC会产生意外的性能问题
- OpenGL:MESA3D屏幕上的软件渲染性能问题