php实现redis数据库指定库号迁移的方法
2015-01-24信息快讯网
这篇文章主要介绍了php实现redis数据库指定库号迁移的方法,涉及对于redis数据库的操作技巧,非常具有实用价值,需要的朋友可以参考下
本文实例讲述了php实现redis数据库指定库号迁移的方法,分享给大家供大家参考。具体如下:
redis普通的数据库迁移,只能整个redis save,或者利用主从,当然也可以安装一个redis-dump,不过比较麻烦,这里提供一种php的脚本,实现指定库号的迁移,其实也就是遍历根据存储类型,读出来,插入新库,效果是这样:
[root@localhost ~]# php 1.php 1/407 101/407 201/407 301/407 401/407
PHP实例代码如下:
<?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('*');
$count = 0;
$total = count($keys);
foreach($keys as $key){
if(++$count % 100 == 1){
echo "$count/$total\n";
}
$type = $from_redis->type($key);
switch($type){
case Redis::REDIS_STRING:
$val = $from_redis->get($key);
$to_redis->set($key, $val);
break;
case Redis::REDIS_LIST:
$list = $from_redis->lRange($key, 0, -1);
foreach($list as $val){
$to_redis->rPush($key, $val);
}
break;
case Redis::REDIS_HASH:
$hash = $from_redis->hGetAll($key);
$to_redis->hMSet($key, $hash);
break;
case Redis::REDIS_ZSET:
$zset = $from_redis->zRange($key, 0, -1, true);
foreach($zset as $val=>$score){
$to_redis->zAdd($key, $score, $val);
}
break;
}
}
function redis_init($conf){
$redis = new Redis();
preg_match('/^([^:]+)(:[0-9]+)?\\/(.+)?/', $conf, $ms);
$host = $ms[1];
$port = trim($ms[2], ':');
$db = $ms[3];
$redis->connect($host, $port);
$redis->select($db);
return $redis;
}
?>希望本文所述对大家的php程序设计有所帮助。
php使用正则表达式获取图片url的方法
php使用CURL伪造IP和来源实例详解
php+mysql实现无限分类实例详解
php截取html字符串及自动补全html标签的方法
php在linux下检测mysql同步状态的方法
将FCKeditor导入PHP+SMARTY的实现方法
php+mysql删除指定编号员工信息的方法
php导入excel文件到mysql数据库的方法
php+mysql查询优化简单实例
php5.4以下版本json不支持不转义内容中文的解决方法
php正则匹配html中带class的div并选取其中内容的方法
PHP针对JSON操作实例分析
php模拟登陆的实现方法分析
php获取四位字母和数字的随机数的实现方法
php实现读取手机客户端浏览器的类
php实现按照权重随机排序数据的方法
PHP实现采集抓取淘宝网单个商品信息
php计划任务之ignore_user_abort函数实现方法
PHP中$this和$that指针使用实例
thinkphp备份数据库的方法分享
php实现监控varnish缓存服务器的状态
php使用PDO操作MySQL数据库实例
discuz目录文件资料汇总
php连接oracle数据库及查询数据的方法
Yii实现多数据库主从读写分离的方法
PHP中使用xmlreader读取xml数据示例
VPS中使用LNMP安装WordPress教程
PHP中require和include路径问题详解
php中heredoc与nowdoc介绍
腾讯微博提示missing parameter errorcode 102 错误的解决方法
PHP提示Warning:phpinfo() has been disabled函数禁用的解决方法
Fedora下安装php Redis扩展笔记
解析dedecms空间迁移步骤详解