如何高效地向Redis 6插入亿级别的数据
如何高效地向Redis插入亿级别的数据
- 背景
- 不可用的方案
- 可用方案:利用管道插入
- 其他命令:
- 参考:
背景
上一条记录;80G的存储;10几个文件,如何快速导入是一个大问题,也是一个很棘手的问题;如下将给出几条方案仅供参考
不可用的方案
- 客户端:采用 springboot + RedisTemplate + pipeline 实现的文件导入,7000万条数据,导入Redis 1个小时;不可用
- lua脚本导入:操作复杂;需要安装各种插件,
可用方案:利用管道插入
原始数据(aaa.txt )如下:
12_22702684-d619-44fc-9af1-bba844fd1843.jpg,/RA0/ssda/2018_05/16//99f86c4e-d34c-47fe-847a-41f402a2ac52/eda4c596-af33-4bf3-a647-a8a061252802/3c78913f-87e5-4d41-a1b7-932cbd6f62c5
2_24067aae-995c-4f23-b47e-4ad2f4f04d44.jpg,/RA0/ssda/2018_05/16//99f86c4e-d34c-47fe-847a-41f402a2ac52/eda4c596-af33-4bf3-a647-a8a061252802/3c78913f-87e5-4d41-a1b7-932cbd6f62c5
4_248c79ed-5c74-4a2e-848c-38dd1491bf23.jpg,/RA0/ssda/2018_05/16//99f86c4e-d34c-47fe-847a-41f402a2ac52/eda4c596-af33-4bf3-a647-a8a061252802/3c78913f-87e5-4d41-a1b7-932cbd6f62c5
3_26dc1319-8047-4e31-a21d-5d433965e75a.jpg,/RA0/ssda/2018_05/16//99f86c4e-d34c-47fe-847a-41f402a2ac52/eda4c596-af33-4bf3-a647-a8a061252802/3c78913f-87e5-4d41-a1b7-932cbd6f62c5
1_48909acd-7785-4978-a4ae-8eb2038880d2.jpg,/RA0/ssda/2018_05/16//99f86c4e-d34c-47fe-847a-41f402a2ac52/eda4c596-af33-4bf3-a647-a8a061252802/3c78913f-87e5-4d41-a1b7-932cbd6f62c5
9_4b2a1fc2-c3e3-4dad-815e-10a188215a64.jpg,/RA0/ssda/2018_05/16//99f86c4e-d34c-47fe-847a-41f402a2ac52/eda4c596-af33-4bf3-a647-a8a061252802/3c78913f-87e5-4d41-a1b7-932cbd6f62c5
6_74509fb5-e3a7-4736-acd6-15e96b30e8e3.jpg,/RA0/ssda/2018_05/16//99f86c4e-d34c-47fe-847a-41f402a2ac52/eda4c596-af33-4bf3-a647-a8a061252802/3c78913f-87e5-4d41-a1b7-932cbd6f62c5
5_7719adcd-8a6c-45bb-baa7-d86a801b3119.jpg,/RA0/ssda/2018_05/16//99f86c4e-d34c-47fe-847a-41f402a2ac52/eda4c596-af33-4bf3-a647-a8a061252802/3c78913f-87e5-4d41-a1b7-932cbd6f62c5
14_800df990-42f1-401e-ab15-07def94c2469.jpg,/RA0/ssda/2018_05/16//99f86c4e-d34c-47fe-847a-41f402a2ac52/eda4c596-af33-4bf3-a647-a8a061252802/3c78913f-87e5-4d41-a1b7-932cbd6f62c5
......
- 文件格式转换脚本:
cat aaa.txt | awk -F “,” ‘{print “set " $1” "$2;}’ > ccc.out
转换后的数据 set key value
set 62_14a61b5c-13e3-4704-96d6-ce7720ca11e6.jpg /R10/ssda/2020_10/19//1991bf81-9732-4fc0-b276-0056377aa7e3/ggokflfeiggmejo/pgdkanfmccceeeo
set 63_041cea0e-044f-4eb0-824a-33e6c475aa35.jpg /R10/ssda/2020_10/19//1991bf81-9732-4fc0-b276-0056377aa7e3/ggokflfeiggmejo/pgdkanfmccceeeo
set 64_75b79643-8a22-4bdb-861c-c72370cdaf16.jpg /R10/ssda/2020_10/19//1991bf81-9732-4fc0-b276-0056377aa7e3/ggokflfeiggmejo/pgdkanfmccceeeo
set 65_1816e238-bda0-4d8f-a27f-5ea37a972478.jpg /R10/ssda/2020_10/19//1991bf81-9732-4fc0-b276-0056377aa7e3/ggokflfeiggmejo/pgdkanfmccceeeo
set 66_ca0b83a7-1b9d-48f6-aabb-729ddea656a5.jpg /R10/ssda/2020_10/19//1991bf81-9732-4fc0-b276-0056377aa7e3/ggokflfeiggmejo/pgdkanfmccceeeo
set 67_1f403291-fc70-4ac0-a733-03fb43790501.jpg /R10/ssda/2020_10/19//1991bf81-9732-4fc0-b276-0056377aa7e3/ggokflfeiggmejo/pgdkanfmccceeeo
set 68_06c30d40-03c7-47c4-b9b2-632f1be693c5.jpg /R10/ssda/2020_10/19//1991bf81-9732-4fc0-b276-0056377aa7e3/ggokflfeiggmejo/pgdkanfmccceeeo
set 69_d6d3706f-98db-44b5-a3c0-13e1c6e59c33.jpg /R10/ssda/2020_10/19//1991bf81-9732-4fc0-b276-0056377aa7e3/ggokflfeiggmejo/pgdkanfmccceeeo
set 70_4c76bb82-a023-494b-ba2b-4f228629f3f3.jpg /R10/ssda/2020_10/19//1991bf81-9732-4fc0-b276-0056377aa7e3/ggokflfeiggmejo/pgdkanfmccceeeo
set 71_451e9c32-9838-460b-9c8d-fa48435bb8db.jpg /R10/ssda/2020_10/19//1991bf81-9732-4fc0-b276-0056377aa7e3/ggokflfeiggmejo/pgdkanfmccceeeo
set 72_5028821c-fb02-42cc-a5f5-f6a483d99c38.jpg /R10/ssda/2020_10/19//1991bf81-9732-4fc0-b276-0056377aa7e3/ggokflfeiggmejo/pgdkanfmccceeeo
set 73_6d793e5e-e58d-4f11-8db2-f21753cdf3d1.jpg /R10/ssda/2020_10/19//1991bf81-9732-4fc0-b276-0056377aa7e3/ggokflfeiggmejo/pgdkanfmccceeeo
set 74_aaf20251-acc9-47c3-9dda-e8e3e81c3b8f.jpg /R10/ssda/2020_10/19//1991bf81-9732-4fc0-b276-0056377aa7e3/ggokflfeiggmejo/pgdkanfmccceeeo
set 75_7b7883a3-f9e9-4f5b-8c6e-d1ba3f25d699.jpg /R10/ssda/2020_10/19//1991bf81-9732-4fc0-b276-0056377aa7e3/ggokflfeiggmejo/pgdkanfmccceeeo
set 76_346e7d7a-28a2-4d35-9795-48adf9cbf024.jpg /R10/ssda/2020_10/19//1991bf81-9732-4fc0-b276-0056377aa7e3/ggokflfeiggmejo/pgdkanfmccceeeo
set 77_afe1a60b-89b7-4e89-9f17-9f2979c4ffbc.jpg /R10/ssda/2020_10/19//1991bf81-9732-4fc0-b276-0056377aa7e3/ggokflfeiggmejo/pgdkanfmccceeeo
set 78_f577d8cd-555e-4ccb-ab69-e8a42bc6b444.jpg /R10/ssda/2020_10/19//1991bf81-9732-4fc0-b276-0056377aa7e3/ggokflfeiggmejo/pgdkanfmccceeeo
set 79_f089e3b3-ebf2-4053-8b0f-fb7f230e3f3d.jpg /R10/ssda/2020_10/19//1991bf81-9732-4fc0-b276-0056377aa7e3/ggokflfeiggmejo/pgdkanfmccceeeo
set 80_61bb28b4-349c-49be-ab0d-3428f0d310a9.jpg /R10/ssda/2020_10/19//1991bf81-9732-4fc0-b276-0056377aa7e3/ggokflfeiggmejo/pgdkanfmccceeeo
set 81_bdd783e8-85a1-48f3-8f20-21188109dd9f.jpg /R10/ssda/2020_10/19//1991bf81-9732-4fc0-b276-0056377aa7e3/ggokflfeiggmejo/pgdkanfmccceeeo
set 82_9606c81c-3475-4712-8c15-3c2252f12b1c.jpg /R10/ssda/2020_10/19//1991bf81-9732-4fc0-b276-0056377aa7e3/ggokflfeiggmejo/pgdkanfmccceeeo
set 83_1fe2cd45-f5b0-43c8-8021-ebff4997ae79.jpg /R10/ssda/2020_10/19//1991bf81-9732-4fc0-b276-0056377aa7e3/ggokflfeiggmejo/pgdkanfmccceeeo
set 84_4c461e10-243b-4a57-9b7f-0fd0c31e2e2f.jpg /R10/ssda/2020_10/19//1991bf81-9732-4fc0-b276-0056377aa7e3/ggokflfeiggmejo/pgdkanfmccceeeo
......
- 导入redis 执行脚本:
进入 redis目录 /home/redis-6.2.8
time cat /root/data/ccc.out | redis-cli -h 127.0.0.1 -n 14 -a “Sxxc@2024” --pipe
其他命令:
- 如果你需要查看所有数据库的键的数量,可以使用INFO命令,并查看keys相关的信息。
redis-cli -a “密码” info keyspace # 这将输出所有数据库的键的数量。
- 指定数据库,数据条数:-n 后面是数据条数
redis-cli -a “密码” -n 1 dbsize #。不带-n,这个命令返回当前数据库的键的数量。否则指定数据库的数量
切换数据库 select 0-15
- 统计请求总耗时:
curl -w “Total time: %{time_total} seconds\n” -X GET http://127.0.0.1:18081/file/getFilePath?fileName=28569fe62323443fb77fdc5b85a1ece0.jpg
参考:
- 如何高效地向Redis插入大量的数据: https://www.cnblogs.com/ivictor/p/5446503.html
- 如何高效的向Redis中插入大量数据:https://blog.csdn.net/qq_26502245/article/details/108510822
相关文章:
如何高效地向Redis 6插入亿级别的数据
如何高效地向Redis插入亿级别的数据 背景不可用的方案可用方案:利用管道插入其他命令:参考: 背景 上一条记录;80G的存储;10几个文件,如何快速导入是一个大问题,也是一个很棘手的问题;如下将给出…...
中国历年肥料进口数量统计报告
数据来源于国家统计局,为1991年到2021年我国每年肥料进口数量统计。 2021年,我国进口肥料909万吨,比上年减少151万吨。 数据统计单位为:万吨 数据说明: 数据来源于国家统计局,为海关进出口统计数 我国肥料…...
即时通讯视频会议平台,WorkPlus本地化部署解决方案
随着现代科技的快速发展,传统的会议方式已经不再满足企业和组织的需求。即时通讯视频会议以其便利性和高效性,成为了现代企业沟通和协作的重要工具。通过即时通讯视频会议,企业可以实现无时差的交流和远程协作,增强团队合作和提高…...
Java的数据库编程-----JDBC
目录 一.JDBC概念&使用条件: 二.mysql-connector驱动包的下载与导入: 三.JDBC编程: 使用JDBC编程的主要五个步骤: 完整流程1(更新update): 完整流程2(查询query): 一.JDB…...
如何获取SSL证书,消除网站不安全警告
获取SSL证书通常涉及以下几个步骤: 选择证书颁发机构(CA): 你需要从受信任的SSL证书颁发机构中选择一个,比如DigiCert、GlobalSign、JoySSL等。部分云服务商如阿里云、腾讯云也提供免费或付费的SSL证书服务。 生成证…...
Unity动画系统介绍
Unity动画系统介绍 Animator组件: 这是Unity中用于控制动画状态的组件,它与Animator Controller一起工作,可以基于游戏逻辑来切换不同的动画状态。 Animator Controller: 这是一个用于管理动画状态机的组件,它允许…...
Three.js-实现加载图片并旋转
1.实现效果 2. 实现步骤 2.1创建场景 const scene new THREE.Scene(); 2.2添加相机 说明: fov(视场角):视场角决定了相机的视野范围,即相机可以看到的角度范围。较大的视场角表示更广阔的视野,但可能…...
ACM实训第25天
第四套 第一道(修改) #include<stdio.h> #include<string.h> int cnt[10]; void count_digits(int n,int* cnt){for(int i1;i<n;i){int numi;while(num){cnt[num%10];num/10;}} } int main(){int t;scanf("%d\n",&t);whi…...
GraphQL(2):使用express和GraphQL编写helloworld
1 安装express、graphql以及express-graphql 在项目的目录下运行一下命令。 npm init -y npm install express graphql express-graphql -S 2 新建helloworld.js 代码如下: const express require(express); const {buildSchema} require(graphql); const grap…...
Vue中的计算属性和侦听器:提升响应式编程的艺术
引言 Vue.js是一个用于构建用户界面的渐进式框架,它的核心特性之一是响应式编程。Vue通过数据绑定和响应式系统,使得开发者能够以声明式的方式处理数据变化。在Vue中,计算属性(Computed Properties)和侦听器ÿ…...
JavaScript倍速播放视频
F12打开开发者工具,打开控制台,输入这行代码,视频即可加速播放, 可以调整倍速(2,4,8,16) document. getElementsByTagName("video")[0]. playbackRate16...
ER图介绍
在数据库设计和建模中,实体-关系图(Entity-Relationship Diagram,简称ER图)是一个至关重要的工具。ER图通过图形化的方式描述了现实世界中的实体(Entity)及其之间的关系(Relationship࿰…...
Oracle通过datax迁移线上表到历史库
历史数据迁移 线上库数据增长迅速,需要定期清理历史数据,因为异地灾备,但是带宽很小,不能使用数据泵直接往历史库导数,会导致本地机房到灾备机房的带宽被占满,调研过flink、golden gate、datax,…...
java基础-深拷贝和浅拷贝
java中有一个概念叫深拷贝和浅拷贝,那这两个是什么意思呢?其实你可以对比一下c中的传值和传引用的问题。 深拷贝 即两个相同的对象地址不同,比如对象A通过拷贝出来对象B,在对B对象进行操作时不会影响到A对象的内容。 浅拷贝 和…...
Java数组操作
数组拓展 1.1 数组拷贝 需求:定义一个方法arraycopy, 从指定源数组中从指定的位置开始复制指定数量的元素到目标数组的指定位置。 1.2. 排序操作 需求:完成对int[] arr new int[]{2,9,6,7,4,1}数组元素的升序排序操作. 1.2.1.冒泡排序 对未排序的各元素…...
C++vector及其实现
第一个参数是类型(可以是自定义也可以是内置类型) 相当于生成一个该类型的数组 allocator是空间配置器 遍历 1.下标遍历 2.迭代器遍历 3.范围for 对象访问 有名对象访问 匿名对象访问 隐式类型转换 成员函数 sort 使用sort需要包含头文件algorithm eg. sort的使用非…...
路由策略实验1
先把地址全部配通 对R1 对R2 对R4 对R3 对R5 对R6 对R7 然后起路由协议 对R1 对R2 对R3 对R4 对R5 对R6 对R7...
含情脉脉的进程
冯诺依曼体系结构 一个计算机在工作的时候是怎样的呢? 我们所认识的计算机都是由一个个的硬件组件组成: 输入设备:键盘、鼠标、摄像头、话筒、磁盘、网卡 中央处理器(CPU):运算器、控制器 输出设备&#x…...
重复文件怎么查找并清理?电脑重复文件清理工具分享:4个
在日常使用电脑的过程中,我们不可避免地会遇到各种重复文件的问题。这些重复文件不仅占据了宝贵的存储空间,还可能导致系统性能下降,甚至引发一些不必要的问题。因此,如何有效地查找并清理这些重复文件成为了许多用户关注的焦点。…...
Java中连接Mongodb进行操作
文章目录 1.引入Java驱动依赖2.快速开始2.1 先在monsh连接建立collection2.2 java中快速开始2.3 Insert a Document2.4 Update a Document2.5 Find a Document2.6 Delete a Document 1.引入Java驱动依赖 注意:启动服务的时候需要加ip绑定 需要引入依赖 <dependen…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)
在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...
论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill
视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...
