使用PHP导出Redis数据到另一个Redis中的代码


Posted in PHP onMarch 12, 2014

从某个 Redis db 导出数据到另一个 Redis db 的PHP脚本:

$from = '127.0.0.1:6200/6';
$to   = '127.0.0.1:6200/8';
$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制作简单的内容采集器的代码
Nov 28 PHP
php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
Nov 14 PHP
谈谈新手如何学习PHP 默默经典版本
Aug 04 PHP
php简单提示框alert封装函数
Aug 08 PHP
基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍
Apr 22 PHP
php cli 小技巧
Jun 03 PHP
解析如何屏蔽php中的phpinfo()函数
Jun 06 PHP
国产PHP开发框架myqee新手快速入门教程
Jul 14 PHP
PHP7.1实现的AES与RSA加密操作示例
Jun 15 PHP
php从数据库读取数据,并以json格式返回数据的方法
Aug 21 PHP
php + WebUploader实现图片批量上传功能
May 06 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
Jun 24 PHP
PHP的变量类型和作用域详解
Mar 12 #PHP
PHP四大安全策略
Mar 12 #PHP
PHP中4个加速、缓存扩展的区别和选用建议
Mar 12 #PHP
php使用websocket示例详解
Mar 12 #PHP
php截取字符串之截取utf8或gbk编码的中英文字符串示例
Mar 12 #PHP
php实现快速排序的三种方法分享
Mar 12 #PHP
php二分查找二种实现示例
Mar 12 #PHP
You might like
jQuery Mobile + PHP实现文件上传
2014/12/12 PHP
php简单中奖算法(实例)
2017/08/15 PHP
Laravel框架下载,安装及路由操作图文详解
2019/12/04 PHP
php实现记事本案例
2020/10/20 PHP
有效的捕获JavaScript焦点的方法小结
2009/10/08 Javascript
JS调用CS里的带参方法实例
2013/08/01 Javascript
js之ActiveX控件使用说明 new ActiveXObject()
2014/03/03 Javascript
js实现文字闪烁特效的方法
2015/12/17 Javascript
JQuery fileupload插件实现文件上传功能
2016/03/18 Javascript
jquery获取img的src值的简单实例
2016/05/17 Javascript
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
2017/05/24 Javascript
JavaScript switch语句使用方法简介
2019/12/30 Javascript
python中bisect模块用法实例
2014/09/25 Python
Python基于Matplotlib库简单绘制折线图的方法示例
2017/08/14 Python
python 对dataframe下面的值进行大规模赋值方法
2018/06/09 Python
python对日志进行处理的实例代码
2018/10/06 Python
Python判断对象是否为文件对象(file object)的三种方法示例
2019/04/26 Python
浅谈Django中view对数据库的调用方法
2019/07/18 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
2020/05/15 Python
基于Python把网站域名解析成ip地址
2020/05/25 Python
CSS3动画之利用requestAnimationFrame触发重新播放功能
2019/09/11 HTML / CSS
Canvas 像素处理之改变透明度的实现代码
2019/01/08 HTML / CSS
雷蛇美国官网:Razer
2020/04/03 全球购物
C++:局部变量能否和全局变量重名
2014/03/03 面试题
new修饰符是起什么作用
2015/06/28 面试题
外语学院毕业生的自我鉴定
2013/11/28 职场文书
运动会宣传口号
2014/06/09 职场文书
个人委托书怎么写
2014/09/17 职场文书
党员个人对照检查材料
2014/10/01 职场文书
一年级数学上册复习计划
2015/01/17 职场文书
4S店收银员岗位职责
2015/04/07 职场文书
安全员岗位职责范本
2015/04/11 职场文书
2015年公司后勤管理工作总结
2015/05/13 职场文书
上帝也疯狂观后感
2015/06/09 职场文书
国际贸易实训总结
2015/08/03 职场文书
小学校园广播稿
2015/08/18 职场文书