Redis批量导入数据

php中文网
发布: 2016-06-07 17:27:18
原创
1878人浏览过

做实验的时候需要把一个2.1亿条的key-value数据导入redis以提供快速的查询。

环境:

openstack上的一个8核CPU、16GB内存、110GB磁盘的虚拟机

Ubuntu 12.04 x64 Server系统

安装redis2.6.7

过程:

做实验的时候需要把一个2.1亿条的key-value数据导入redis以提供快速的查询。

安装、配置、启动redis之后,需要把数据导入到redis中。

尝试用jedis写客户端往redis中逐条插入数据的话,,速度很慢,一分钟插入几万条就谢天谢地了,2.1亿条得好几天(我猜redis每秒10万条的插入速度是批插的速度,而且是插入的比较短的数据)。

Batch GPT
Batch GPT

使用AI批量处理数据、自动执行任务

Batch GPT 28
查看详情 Batch GPT

关于redis批插,查了一下,有的用了一个叫redis_import_tools的工具https://github.com/unbracketed/redis-import-tools

使用python写的,看了一下readme感觉有点麻烦,上面说是比redis自带的pipe line功能要快,我还就不信邪了,试试redis自己的pipe line到底能有多慢:

参考

这里写得很清楚了,自己生成一个redis protocol格式的数据文件即可。2.1亿条(9GB,其中纯数据不到4GB)的导入大概用了12分钟的样子,导入后redis-server进程差不多吃掉了90%的内存(总共16GB)。看来:

1、redis自己的pipe还是很强大的;

2、redis十分吃内存,物理内存最好是数据的4倍以上(而且是没有其他进程占用资源的情况下),否则就要设置系统的内存分配方式,使得redis可以使用虚拟内存,但查询速度可能会有所降低。

linux

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号