使用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 UTF8中文字符截断函数代码
Sep 11 PHP
PHP中数字检测is_numeric与ctype_digit的区别介绍
Oct 04 PHP
PHP递归调用的小技巧讲解
Feb 19 PHP
php读取excel文件的简单实例
Aug 26 PHP
ThinkPHP中的create方法与自动令牌验证实例教程
Aug 22 PHP
Laravel 5框架学习之环境与配置
Apr 08 PHP
php中foreach结合curl实现多线程的方法分析
Sep 22 PHP
CI框架中类的自动加载问题分析
Nov 21 PHP
PHP实现实时生成并下载超大数据量的EXCEL文件详解
Oct 23 PHP
PHP自动生成缩略图函数的源码示例
Mar 18 PHP
PHP实现字母数字混合验证码功能
Jul 11 PHP
Laravel 错误提示本地化的实现
Oct 22 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制作静态网站的模板框架(三)
2006/10/09 PHP
PHP+MYSQL开发工具及资源收藏
2007/01/02 PHP
php 文本文件的读取效率
2012/02/10 PHP
深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
2013/06/06 PHP
浅析php过滤html字符串,防止SQL注入的方法
2013/07/02 PHP
ThinkPHP的模版中调用session数据的方法
2014/07/01 PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
2019/06/13 PHP
JQuery 确定css方框模型(盒模型Box Model)
2010/01/22 Javascript
JavaScript中的值类型详细介绍
2014/12/29 Javascript
js实现上一页下一页的效果【附代码】
2016/03/10 Javascript
Vue入门之数据绑定(小结)
2018/01/08 Javascript
vue组件实现进度条效果
2018/06/06 Javascript
vue基于两个计算属性实现选中和全选功能示例
2019/02/08 Javascript
自定义Vue中的v-module双向绑定的实现
2019/04/17 Javascript
使用 node.js 模仿 Apache 小部分功能
2019/07/07 Javascript
ES6基础之 Promise 对象用法实例详解
2019/08/22 Javascript
javascript设计模式 ? 状态模式原理与用法实例分析
2020/04/22 Javascript
vue+element UI实现树形表格
2020/12/29 Vue.js
[46:20]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python实现批量监控网站
2016/09/09 Python
python基础教程之五种数据类型详解
2017/01/12 Python
Python中装饰器学习总结
2018/02/10 Python
python pyinstaller 加载ui路径方法
2019/06/10 Python
pyqt5之将textBrowser的内容写入txt文档的方法
2019/06/21 Python
利用pandas合并多个excel的方法示例
2019/10/10 Python
Python PyInstaller安装和使用教程详解
2020/01/08 Python
利用setuptools打包python程序的方法步骤
2020/01/18 Python
pytorch实现保证每次运行使用的随机数都相同
2020/02/20 Python
Python多进程multiprocessing、进程池用法实例分析
2020/03/24 Python
Django web自定义通用权限控制实现方法
2020/11/24 Python
CSS3贝塞尔曲线示例:创建链接悬停动画效果
2020/11/19 HTML / CSS
电子信息专业学生自荐信
2013/11/09 职场文书
厨房工作人员岗位职责
2013/11/15 职场文书
机动车登记业务委托书
2014/10/08 职场文书
个人工作年终总结
2015/03/09 职场文书
python百行代码实现汉服圈图片爬取
2021/11/23 Python