Red de conocimiento informático - Aprendizaje de programación - método php para implementar la migración del número de biblioteca especificado de la base de datos redis

método php para implementar la migración del número de biblioteca especificado de la base de datos redis

Este artículo presenta principalmente el método de PHP para implementar la migración del número de biblioteca especificado de la base de datos de Redis. Implica las habilidades operativas de la base de datos de Redis. Los amigos que lo necesiten pueden consultarlo. >Este artículo presenta la implementación de redis en php con ejemplos. El método para migrar el número de base de datos especificado se comparte con todos para su referencia.

Los detalles son los siguientes:

La migración ordinaria de la base de datos de Redis solo puede guardar el redis completo

o utilizar el método maestro-esclavo. Por supuesto, también puede instalar un volcado de redis. , pero es más problemático Proporcionar un Se utiliza un script PHP para migrar el número de biblioteca especificado. De hecho, se recorre según el tipo de almacenamiento, se lee y se inserta en la nueva biblioteca. /p>

El código es el siguiente:

[root@localhost

~]#

php

1. php

1/407

101/407

201/407

301/407

401/ 407

El código de muestra PHP es el siguiente:

El código es el siguiente:

$from

=

'10.0.2.52:6379/7';

$a

=

'127.0.1 :6379/7';

$from_redis

=

redis_init($from);

$to_redis

=

redis_init($to);

$claves

=

$from_redis->claves('*') ;

$cuenta

=

0;

$total

=

count($keys);

foreach($keys

as

$key){

if(++$count

%

100

==

1){

eco

"$recuento/$total";

}

$tipo

=

$from_redis->tipo($clave);

cambiar($tipo){

caso

p>

Redis::REDIS_STRING:

$val

=

$from_ redis->get($key);

$to_redis->set($key,

$val);

romper;

caso

Redis::REDIS_LIST :

$lista

=

$from_redis->lRange($clave,

0,

-1);

foreach($lista

como

$val){

$to_redis->rPush($key

$val);

}

romper;

caso

Redis::REDIS_HASH:

$hash

=

$from_redis-> hGetAll($key);

$to_redis->hMSet($key,

$hash);

break;

caso

Redis::REDIS_ZSET:

$zset

=

$from_ redis->zRange($key,

0,

-1,

verdadero

foreach($);

zset

as

$val=>$puntuación){

$to_redis-> ,

$val);

}

descanso;

}

}

función

redis_init($conf){

$redis

=

nuevo

Redis( );

preg_match('/^([^:]+)(:[0-9]+)?/(. +)?/',

$conf,

$ms);

$host

=

$ms[1];

$puerto

=

trim($ms[2],

':');

$db

=

$ms[3];

$redis->connect($host,

$puerto);

$ redis->seleccionar($db);

regresar

$redis;