使用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 error_log 函数的使用
Apr 13 PHP
php替换超长文本中的特殊字符的函数代码
May 22 PHP
php获取本地图片文件并生成xml文件输出具体思路
Apr 27 PHP
深入Nginx + PHP 缓存详解
Jul 11 PHP
php中如何使对象可以像数组一样进行foreach循环
Aug 09 PHP
phpstorm配置Xdebug进行调试PHP教程
Dec 01 PHP
老版本PHP转义Json里的特殊字符的函数
Jun 08 PHP
php使用Jpgraph绘制简单X-Y坐标图的方法
Jun 10 PHP
CodeIgniter视图使用注意事项
Jan 20 PHP
php 解析xml 的四种方法详细介绍
Oct 26 PHP
php之可变变量的实例详解
Sep 12 PHP
vmware linux系统安装最新的php7图解
Apr 14 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
法压式咖啡之制作法
2021/03/03 冲泡冲煮
第六章 php目录与文件操作
2011/12/30 PHP
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
2013/06/05 PHP
ThinkPHP实现多数据库连接的解决方法
2014/07/01 PHP
php中json_encode处理gbk与gb2312中文乱码问题的解决方法
2014/07/10 PHP
分享最受欢迎的5款PHP框架
2014/11/27 PHP
php输出全球各个时区列表的方法
2015/03/31 PHP
Thinkphp3.2.3整合phpqrcode生成带logo的二维码
2016/07/21 PHP
jQuery源码分析之jQuery.fn.each与jQuery.each用法
2015/01/23 Javascript
angularjs客户端实现压缩图片文件并上传实例
2015/07/06 Javascript
浅析JavaScript 调试方法和技巧
2015/10/22 Javascript
javascript实现动态统计图开发实例
2015/11/21 Javascript
jQuery中hover与mouseover和mouseout的区别分析
2015/12/24 Javascript
浅析JS异步加载进度条
2016/05/05 Javascript
解决wx.onMenuShareTimeline出现的问题
2016/08/16 Javascript
详解vue-cli 脚手架项目-package.json
2017/07/04 Javascript
Typescript的三种运行方式(小结)
2019/09/18 Javascript
vue+echarts+datav大屏数据展示及实现中国地图省市县下钻功能
2020/11/16 Javascript
Python 详解基本语法_函数_返回值
2017/01/22 Python
OPENCV去除小连通区域,去除孔洞的实例讲解
2018/06/21 Python
Python3获取拉勾网招聘信息的方法实例
2019/04/03 Python
python科学计算之narray对象用法
2019/11/25 Python
python安装cx_Oracle和wxPython的方法
2020/09/14 Python
python 中关于pycharm选择运行环境的问题
2020/10/31 Python
python爬取招聘要求等信息实例
2020/11/20 Python
埃弗顿足球俱乐部官方网上商店:Everton Direct
2018/01/13 全球购物
马德里竞技官方网上商店:Atletico Madrid Shop
2019/03/31 全球购物
size?荷兰官方网站:英国高级运动鞋精品店
2020/07/24 全球购物
查询优化的一般准则有哪些
2015/03/08 面试题
护士节策划方案
2014/05/19 职场文书
详解Html5项目适配系统深色模式方案总结
2021/04/14 HTML / CSS
MySQL定时备份数据库(全库备份)的实现
2021/09/25 MySQL
如何避免mysql启动时错误及sock文件作用分析
2022/01/22 MySQL
MySQL高级进阶sql语句总结大全
2022/03/16 MySQL
Win11显卡控制面板打开显卡设置方法
2022/04/20 数码科技
输入框跟随文字内容适配宽实现示例
2022/08/14 Javascript