使用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中截取字符串支持utf-8
Jan 18 PHP
php获取远程图片的两种 CURL方式和sockets方式获取远程图片
Nov 07 PHP
php使用base64加密解密图片示例分享
Jan 20 PHP
php接口和抽象类使用示例详解
Mar 02 PHP
php实现12306余票查询、价格查询示例
Apr 17 PHP
利用php下载xls文件(自己动手写的)
Apr 18 PHP
YII路径的用法总结
Jul 09 PHP
PHP开发中AJAX技术的简单应用
Dec 11 PHP
PHP基于面向对象封装的分页类示例
Mar 15 PHP
PHP析构函数destruct与垃圾回收机制的讲解
Mar 22 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
Jun 22 PHP
关于laravel 日志写入失败问题汇总
Oct 17 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
PHP中函数内引用全局变量的方法
2008/10/20 PHP
PHP实现的MongoDB数据库操作类分享
2014/05/12 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
2015/12/24 PHP
Yii CGridView用法实例详解
2016/07/12 PHP
magento后台无法登录解决办法的两种方法
2016/12/09 PHP
关于event.cancelBubble和event.stopPropagation()的区别介绍
2011/12/11 Javascript
使用js写的一个简易的投票
2013/11/27 Javascript
JavaScript window.location对象
2014/11/14 Javascript
JQuery fileupload插件实现文件上传功能
2016/03/18 Javascript
解决jquery无法找到其他父级子集问题的方法
2016/05/10 Javascript
基于jQuery.validate及Bootstrap的tooltip开发气泡样式的表单校验组件思路详解
2016/07/18 Javascript
微信公众平台开发教程(四) 实例入门:机器人回复(附源码)
2016/12/02 Javascript
Bootstrap源码解读导航条(7)
2016/12/23 Javascript
jQuery表格的维护和删除操作
2017/02/03 Javascript
vue.js实现数据动态响应 Vue.set的简单应用
2017/06/15 Javascript
JS封装的模仿qq右下角消息弹窗功能示例
2018/08/22 Javascript
Vue自定义指令写法与个人理解
2019/02/09 Javascript
详解vue 自定义组件使用v-model 及探究其中原理
2019/10/11 Javascript
jquery 键盘事件 keypress() keydown() keyup()用法总结
2019/10/23 jQuery
Node.js path模块,获取文件后缀名操作
2020/11/07 Javascript
微信小程序实现底部弹出模态框
2020/11/18 Javascript
举例详解Python中循环语句的嵌套使用
2015/05/14 Python
Python正则表达式教程之三:贪婪/非贪婪特性
2017/03/02 Python
Python线程创建和终止实例代码
2018/01/20 Python
Python多进程池 multiprocessing Pool用法示例
2018/09/07 Python
python的turtle库使用详解
2019/05/10 Python
selenium中get_cookies()和add_cookie()的用法详解
2020/01/06 Python
css3实现可拖动的魔方3d效果
2019/05/07 HTML / CSS
欧洲品牌瓷器餐具网上商店:Porzellantreff.de
2018/04/04 全球购物
美国学校用品、教室和教学商店:Discount School Supply
2018/04/04 全球购物
Farfetch美国:奢侈品牌时尚购物平台
2019/05/02 全球购物
简述你对Statement,PreparedStatement,CallableStatement的理解
2013/03/25 面试题
信息技术研修心得体会
2016/01/08 职场文书
党员反邪教心得体会
2016/01/15 职场文书
pandas:get_dummies()与pd.factorize()的用法及区别说明
2021/05/21 Python
Nginx实现负载均衡的项目实践
2022/03/18 Servers