この記事の例では、PHP で Redis データベースの指定したライブラリ番号を移行する方法を説明し、参考のために皆さんに共有します。詳細は以下の通りです
通常の Redis データベース移行は Redis 全体を保存することしかできません。もちろん、redis-dump をインストールすることもできますが、ここでは指定されたライブラリ番号の移行を実現するための PHP スクリプトを示します。 、実際にはトラバーサルです。ストレージの種類に応じて、それを読み取って新しいライブラリに挿入します。その効果は次のとおりです。
コードは次のとおりです:
[root@localhost ~]#php 1.php
1/407
101/407
201/407
301/407
401/407
PHP のサンプルコードは次のとおりです:
コードは次のとおりです:
$from = '10.0.2.52:6379/7';
$to = '127.0.0.1:6379/7';
$from_redis = redis_init($from);
$to_redis = redis_init($to);
$keys = $from_redis->keys('*');
$カウント = 0;
$total = カウント($keys)
foreach($keys を $key){
if(++$count % 100 == 1){
「$count/$totaln」をエコーします
}
$type = $from_redis->type($key);
スイッチ($type){
Redis::REDIS_STRING の場合:
$val = $from_redis->get($key);
$to_redis->set($key, $val);
休憩
ケース Redis::REDIS_LIST:
$list = $from_redis->lRange($key, 0, -1);
foreach($list as $val){
$to_redis->rPush($key, $val);
}
休憩
Redis::REDIS_HASH の場合:
$hash = $from_redis->hGetAll($key);
$to_redis->hMSet($key, $hash);
休憩
Redis::REDIS_ZSET の場合:
$zset = $from_redis->zRange($key, 0, -1, true);
foreach($zset as $val=>$score){
$to_redis->zAdd($key, $score, $val);
}
休憩
}
}
関数 redis_init($conf){
$redis = 新しい Redis();
preg_match('/^([^:]+)(:[0-9]+)?\/(.+)?/', $conf, $ms);
$ホスト = $ms[1];
$port = トリム($ms[2], ':');
$db = $ms[3];
$redis->connect($host, $port);
$redis->select($db);
$redis を返す
}
?>
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。
http://www.bkjia.com/PHPjc/971927.html
www.bkjia.com
本当
http://www.bkjia.com/PHPjc/971927.html
技術記事
この記事では主に、Redis データベースの指定したライブラリ番号を移行するための PHP の方法を紹介します。非常に便利です。