ホームページ  >  記事  >  バックエンド開発  >  Redis データベースで指定されたライブラリ番号の移行を実装する PHP メソッド、redis データベース_PHP チュートリアル

Redis データベースで指定されたライブラリ番号の移行を実装する PHP メソッド、redis データベース_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:09:42900ブラウズ

Redisデータベースを実装するphpメソッド指定ライブラリ番号移行、Redisデータベース

この記事の例では、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/942988.html

www.bkjia.com

本当

http://www.bkjia.com/PHPjc/942988.html

技術記事

PHP で Redis データベースの指定ライブラリ番号を移行する方法を実装します。この記事の Redis データベースの例では、PHP で Redis データベースの指定ライブラリ番号を移行する方法を説明します。ご参考までに。 。具体的には…





声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。