Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo importar grandes cantidades de datos a Redis

Cómo importar grandes cantidades de datos a Redis

Los pasos de implementación específicos son los siguientes: 1. Cree un nuevo archivo de texto que contenga el comando redis SETKey0Value0SETKey1Value1SETKeyNValueN. Si tiene los datos originales, no es difícil construir este archivo, por ejemplo, shell o python. 2. Convierta estos comandos a RedisProtocol. Porque la función de canalización de Redis admite RedisProtocol, no comandos directos de Redis. Cómo convertir, consulte el script a continuación. 3. Utilice la canalización para insertar catdata.txt|redis-cli--pipeShellVSRedispipe. Probemos la eficiencia entre la importación por lotes de Shell y Redispipe. Idea de prueba: inserte 100.000 datos idénticos en la base de datos mediante un script de shell y Redispipe respectivamente, y verifique el tiempo dedicado a cada uno. El script de Shell es el siguiente: #!/bin/bashfor((i=0;igt;redis.logdoneEl valor insertado cada vez es helloworld, pero las claves son diferentes, nombre0, nombre1nombre99999. RedispipeRedispipe será un poco más problemático 1gt; Primero construya el comando redis. El archivo de texto está aquí, elegí python#!/usr/bin/pythonforiinrange(100000): print'setname' str(i),'helloworld'#python1.pygt; .txtsetname0helloworldsetname1helloworld2gt; El comando se convierte en RedisProtocol Aquí, utilicé un script de shell en github, #!/bin/bash whilereadCMD;do#eachcommandbeginswith*{numberargumentsincommand}\r\nXS=($CMD);printf"*${#. XS[@] }\r\n"#foreachargument,weappend${length}\r\n{argument}\r\nforXin$CMD;doprintf"\$${#X}\r\n$X\r\ n";donedoneredis_data .txt#head-7redis_data.txt*3$3set$5name0$10helloworld En este punto, la construcción de datos está completa

.