如何高效地向Redis 6插入亿级别的数据

如何高效地向Redis插入亿级别的数据

背景

上一条记录;80G的存储;10几个文件,如何快速导入是一个大问题,也是一个很棘手的问题;如下将给出几条方案仅供参考

不可用的方案

  • 客户端:采用 springboot + RedisTemplate + pipeline 实现的文件导入,7000万条数据,导入Redis 1个小时;不可用
  • lua脚本导入:操作复杂;需要安装各种插件,

可用方案:利用管道插入

原始数据(aaa.txt )如下:

md 复制代码
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

md 复制代码
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

参考:

  1. 如何高效地向Redis插入大量的数据: https://www.cnblogs.com/ivictor/p/5446503.html
  2. 如何高效的向Redis中插入大量数据:https://blog.csdn.net/qq_26502245/article/details/108510822
相关推荐
xiaojiaohuazi2 分钟前
国产安陆EG4S20 FPGA实现千兆以太网TCP/IP:AD7606C 8通道1 MSPS采集、SDRAM缓存与Python上位机
tcp/ip·缓存·fpga开发
herinspace12 分钟前
管家婆财贸ERP如何进行基本信息批量搬移
服务器·数据库·管家婆软件·财务软件
小马92643 分钟前
智能体时代的两块基石:DeepSeek Harness 开源与“认知基础设施“数据库
数据库·人工智能·开源·agent
那年窗外下的雪.1 小时前
VXLAN EVPN 分层排障:从 VTEP 可达、ARP/MAC 到 MAC Mobility
服务器·前端·网络·数据库·spine
冰暮流星1 小时前
mysql练习1
数据库·mysql
Nil2081 小时前
leetcode 146LRU缓存
算法·leetcode·缓存
李可以量化1 小时前
Redis 从了解到精通(三)上:量化交易场景下的数据备份与安全配置
redis·python·安全·qmt·ptrade
三8442 小时前
MySQL 文件读写函数详解:从 CTF 实战到 LOAD_FILE、INTO OUTFILE、LOAD DATA INFILE 应用
数据库·sql
来让爷抱一个2 小时前
拯救我的“烂尾“项目:我用MonkeyCode把五个AI热点实践了个遍
网络·数据库·人工智能·prompt·ai编程
可涵不会debug2 小时前
LangChain 示例选择器(Example selectors)完整基础概念解读
服务器·前端·数据库