Migración de datos entre redis

Redis viene con comandos

 Los parámetros de migrar se explican uno por uno:
Host: La dirección IP del Redis de destino.
· Puerto: el puerto del Redis de destino.
· Clave | "": antes de Redis3.0.6, migrar solo admite la migración de una clave, por lo que aquí está la clave que se va a migrar, pero después de Redis3.0.6, admite la migración de varias claves. Si es necesario migrar varias claves actualmente, este El lugar es una cadena vacía "".
· Destination-db: el índice de la base de datos del destino Redis. Por ejemplo, si desea migrar a la base de datos 0, escriba 0 aquí.
· Tiempo de espera: el período de tiempo de espera de la migración (en milisegundos).
· [Copiar]: si agrega esta opción, la clave de origen no se eliminará después de la migración.
· [Reemplazar]: si agrega esta opción, migrar migrará normalmente para la sobrescritura de datos independientemente de si el Redis de destino existe o no.
· [Claves clave [clave ...]]: para migrar varias claves, por ejemplo, para migrar clave1, clave2, clave3, complete "claves clave1 clave2 clave3" aquí.

 migrate 127.0.0.1 6379 "" 10000 keys key1 key2 key3 

Método de migración recomendado para redis-migrate-tool

Instalar redis-migrate-tool

confiar

yum -y install automake libtool autoconf bzip2 git
git clone https://github.com/tanruixing88/redis-migrate-tool.git
cd redis-migrate-tool
autoreconf -fvi
./configure
make
src/redis-migrate-tool -h

 

 

rmt.conf

[source]
type: single
hash: fnv1a_64
hash_tag: "{}"
distribution: ketama
servers : 
-127.0.0.1:6379

[target]
type: single
servers:
-127.0.0.1:6380

[common]
listen: 0.0.0.0:8888

Comando de migración:

/root/redis-migrate-tool/src/redis-migrate-tool -c rmt.conf -o log -d

 

 

./redis-cli -h 127.0.0.1 -p 8888 Ver proceso
 

Este proceso continuará ejecutándose en segundo plano. Después de vincular los datos, deje que el lado empresarial deje de escribir la antigua biblioteca de redis durante el período de pico bajo y cambie el método de conexión a esta nueva biblioteca (se recomienda que el maestro de redis esclavo uso centinela para hacerlo) Alta disponibilidad). Después de confirmar que no hay ningún problema, el DBA mata el proceso de redis-migrate-tool y finaliza todo el proceso de migración de redis. 

 

Instrucciones de configuración:

[source]/[target]:

type:
single:单独的redis实例
twemproxy:twemproxy集群
redis cluster:redis集群
rdb file:.rdb文件
aof file:.aof文件
servers:redis地址组,如果type:twemproxy,则为twemproxy配置文件,如果type:rdb file,则为rdb文件名。
redis_auth:连接redis服务的认证auth。
timeout:读写redis服务的超时时间(ms),默认为120000ms
hash:哈希方法名。仅当type:twemproxy有效。可以为one_at_a_time、md5、crc16、crc32、crc32a、fnv1_64、fnv1a_64、fnv1_32、fnv1a_32、hsieh、murmur、jenkins。
hash_tag:用来哈希的关键key的两个字符,例如"{}" 或 “$$”。仅当type:twemproxy有效。只要标签内的关键key是相同的,能够将不同的键映射到同一服务器。
distribution:键的分布模式。仅当type:twemproxy有效。可以为 ketama、modula、random。
[common]:

listen:监听的地址和端口。默认为127.0.0.1:8888
max_clients:可监听端口的最大连接数。默认为100
threads:工具可用的最多线程数。默认为cpu内核数。
step:解析请求的步数。默认为1,数字越大,迁移越快,需要越多的内存。
mbuf_size:请求的缓存大小(M),默认为512M
noreply:是否检查目标组的回复,默认为false
source_safe:是否保护源组机器的内存安全。默认为true,工具将允许在源组的同一台机器同时只有一个redis生成.rdb。
dir:工作目录。用来存储文件,例如rdb文件,默认为当前目录。
filter:过滤不符合表达式的Key,默认为NULL,支持通配符为glob-style风格
? :1个任意字符。例如 h?llo 匹配 hello, hallo , hxllo
* :0个或多个任意字符。例如 h*llo 匹配 hllo , heeeello
[characters]:匹配任意一个方括号内的字符,比如[abc],要么匹配a,要么匹配b,要么匹配c。例如 h[ae]llo 匹配 hello , hallo, 但不匹配 hillo。
[^character]:排除方括号内的字符。例如h[^e]llo 匹配 hallo, hbllo, … 但不匹配 hello。
[character-character]:表示2个字符范围内的都可以匹配,如[a-z],[0-9]。例如h[a-b]llo 匹配 hallo 和 hbllo。
\用来转移特殊字符。

 

Supongo que te gusta

Origin blog.csdn.net/qq_39313596/article/details/112481214
Recomendado
Clasificación