使用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 基本语法格式
Dec 15 PHP
PHP缩略图等比例无损压缩,可填充空白区域补充色
Jun 10 PHP
php setcookie函数的参数说明及其用法
Apr 20 PHP
PHP队列用法实例
Nov 05 PHP
php使用数组填充下拉列表框的方法
Mar 31 PHP
php显示时间常用方法小结
Jun 05 PHP
PHP微信开发之查询城市天气
Jun 23 PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
Nov 16 PHP
thinkPHP分页功能实例详解
May 05 PHP
Yii2框架可逆加密简单实现方法
Aug 25 PHP
在Laravel的Model层做数据缓存的实现
Sep 26 PHP
PHP中->和=>的含义及使用示例解析
Aug 06 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翻页类
2009/06/01 PHP
php抽奖小程序的实现代码
2013/06/18 PHP
destoon实现首页显示供应、企业、资讯条数的方法
2014/07/15 PHP
PHP查询快递信息的方法
2015/03/07 PHP
phpstorm激活码2020附使用详细教程
2020/09/25 PHP
JavaScript之Getters和Setters 平台支持等详细介绍
2012/12/07 Javascript
基于jquery实现拆分姓名的方法(纯JS版)
2013/05/08 Javascript
JavaScript定时器详解及实例
2013/08/01 Javascript
jQuery分别获取选中的复选框值的示例
2014/06/17 Javascript
如何动态加载外部Javascript文件
2015/12/02 Javascript
JavaScript获取当前cpu使用率的方法
2015/12/15 Javascript
工作中比较实用的JavaScript验证和数据处理的干货(经典)
2016/08/03 Javascript
JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
2016/09/21 Javascript
使用JavaScript获取URL中的参数(两种方法)
2016/11/16 Javascript
nodejs学习笔记之路由
2017/03/27 NodeJs
AngularJS自定义指令之复制指令实现方法
2017/05/18 Javascript
去掉vue 中的代码规范检测两种方法(Eslint验证)
2018/03/21 Javascript
vant实现购物车功能
2020/06/29 Javascript
python实现Adapter模式实例代码
2018/02/09 Python
Python二进制文件读取并转换为浮点数详解
2019/06/25 Python
使用Pyhton集合set()实现成果查漏的例子
2019/11/24 Python
python matplotlib imshow热图坐标替换/映射实例
2020/03/14 Python
Django REST 异常处理详解
2020/07/15 Python
Python 创建守护进程的示例
2020/09/29 Python
Python xlwings插入Excel图片的实现方法
2021/02/26 Python
美国购买和销售礼品卡平台:Raise
2017/01/13 全球购物
德国高品质男装及配饰商城:Cultizm(Raw Denim原色牛仔裤)
2018/04/16 全球购物
娱乐地球:Entertainment Earth
2020/01/08 全球购物
一道Delphi面试题
2016/10/28 面试题
公司面试感谢信
2014/02/01 职场文书
2014审计局领导班子民主生活会对照检查材料思想汇报
2014/09/20 职场文书
卖房协议书样本
2014/10/30 职场文书
2014年学生党支部工作总结
2014/12/20 职场文书
Ajax请求超时与网络异常处理图文详解
2021/05/23 Javascript
Matlab如何实现矩阵复制扩充
2021/06/02 Python
Pytorch中Softmax和LogSoftmax的使用详解
2021/06/05 Python