Red de conocimiento informático - Problemas con los teléfonos móviles - Importar el shell de Redis a la base de datos especificada

Importar el shell de Redis a la base de datos especificada

1. Exportar redis

[plain]?ver simple?copia

#! /bin/bash?

REDIS_HOST=localhost?

REDIS_PORT=6379?

¿REDIS_DB=1?

NOMBRE CLAVE=redis:hash:*?

KEYFILE=key.txt?"keys?$keyname"?|?redis-cli?-h?$REDIS_HOST?-p?$REDIS_PORT?-n?$REDIS_DB?>?$KEYFILE?

OUTFILE=valuelist.txt?

TEMPFILE=$OUTFILE.tmp?

echo?>?

para la clave en `cat? $KEYFILE`?

do

echo?"HGETALL?$key"?|?redis-cli?-h?$REDIS_HOST?-p?$REDIS_PORT?-n?$ ¿REDIS_DB?>>?$TEMPFILE

echo?"GET?$key"?|?redis-cli?-h?$REDIS_HOST?-p?$REDIS_PORT?-n?$REDIS_DB?>>?

¿Listo? 2. Organizar los resultados exportados

[plain]?view Plain?copy

cat?$TEMPFILE|xargs?-n?2|awk?-F?"? v?KEYNAME=$KEYNAME?'{print?"HSET?"KEYNAME?"?" ?$1,?"\$OUTFILE?$OUTFILE? donde xargs -n 2 combina dos líneas en una sola y se reemplaza el carácter de nueva línea por un espacio

Luego use awk para separar con espacios, $1 es el valor clave, $2 es el valor clave

Convierta al formato HSET nuevamente, usando la variable KEYNAME predefinida -v

p>

Finalmente convertido al formato HSET KEYNAME KEY "VALUE"

3. Importar el resultado de la conversión

[plain]?view Plain?copy

cat?$OUTFILE?|?redis-cli?-h?localhost?-p?6379

Por segunda vez, utilice Redis Dump and Restore directamente para exportar e importar

[simple]?ver simple?copia

redis-cli?--raw?dump?test?|?head?-c-1?|?redis-cli?-x? ¿restaurar?prueba1?