本文实例讲述了php实现redis数据库指定库号迁移的方法,分享给大家供大家参考。具体如下:

redis普通的数据库迁移,只能整个redis save,或者利用主从,当然也可以安装一个redis-dump,不过比较麻烦,这里提供一种php的脚本,实现指定库号的迁移,其实也就是遍历根据存储类型,读出来,插入新库,效果是这样:

[root@localhost ~]# php 1.php

1/407

101/407

201/407

301/407

401/407

PHP实例代码如下:

$from = '10.0.2.52:6379/7';

$to   = '127.0.0.1:6379/7';

$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实现mysql 数据迁移_php实现redis数据库指定库号迁移的方法相关推荐

  1. mysql建立数据浏览器_一个简单的MySQL数据浏览器_php

    这个程序可以用来浏览mysql中的数据,您可以稍做修改就可以做出很不错的MySQL浏览器. */ /* ?cmd=db ?cmd=table&db={} http://www.gaodaima ...

  2. EF Core 小技巧:迁移已经应用到数据库,如何进行迁移回退操作?

    场景描述:项目中存在两个迁移 Teacher 和 TeachingPlan ,TeachingPlan 在 Teacher 之后创建,并且已经执行 dotnet ef database update  ...

  3. chackbox的值 php获取_PHP操作Redis数据库常用方法

    IT生涯 2019-11-26 20:42:23 要让php能用上redis,首先就得安装redis扩展.1.安装redis git下载地址 https://github.com/MSOpenTech ...

  4. php mysql刷新表格_PHP和AJAMYSQL数据库刷新表格

    好文网为大家准备了关于PHP和AJAMYSQL数据库刷新表格的文章,好文网里面收集了五十多篇关于好PHP和AJAMYSQL数据库刷新表格好文,希望可以帮助大家.更多关于PHP和AJAMYSQL数据库刷 ...

  5. python获取redis数据_Python之操作redis数据库

    使用redis模块 一.操作redis 1.添加信息 (1)直接建key-value信息: 右键-Add New Key,手动添加key和value 右键-Console,打开控制台,写入命令 (2) ...

  6. 链接redis清空指定库数据

    redis-cli -h host -p port -a password 连接redis 如果提示Redis (error) NOAUTH Authentication required说明redi ...

  7. mysql数据库函数转义函数_MySql数据库-查询、插入数据时转义函数的使用

    最近在看一部php的基础视频教程,在做案例的时,当通过用户名查询用户信息的时候,先使用了转义函数对客户提交的内容进行过滤之后再交给sql语句进行后续的操作.虽然能看到转义函数本身的作用,但是仍然有一些 ...

  8. mysql数据表怎么截图_access数据库怎样截图

    <R语言数据分析>--1.4 从数据库中导入数据 本节书摘来自华章出版社<R语言数据分析>一书中的第1章,第1.4节,作者盖尔盖伊·道罗齐(Gergely Daróczi),潘 ...

  9. Java连接redis选择指定库操作

    redis建立好通常会有15个库,从db0-db15,但是Java操作redis的时候,需要通过jedis连接,默认连接的是db0号库,如果需要往其他号库进行操作,执行以下操作就可以啦. 以maven ...

最新文章

  1. 来认识世界上第一支AI基金:模仿股票分析师 365天无间断工作
  2. 第二章:深入C#数据类型
  3. C++11 新特性之std::thread
  4. python输出二进制数_二进制中1的个数(python)
  5. Graphpad Prism作相关性分析图
  6. 【PAT甲级 vector string排序】1047 Student List for Course (25 分) 含别人的做法
  7. 72 include动作和指令的区别
  8. java.net.url 中文乱码_jsp get Url请求方式中文乱码问题解决办法
  9. 2012 php mysql_Apache+Mysql+PHP(win sercer2012)
  10. javaweb项目自动设置热加载
  11. 目录-换热器及其计算基础知识
  12. Qt中配置OpenCV
  13. 大一java实训报告1500字_java实训报告两篇
  14. w7计算机不显示移动硬盘,Win7移动硬盘在电脑上不显示盘符的解决办法
  15. div和span标签以及标签分类
  16. html5四季特点,成都气候:成都温度、成都天气、成都常年气温、成都四季特点,chengdu weather...
  17. 一个简单的HTML网页
  18. java maven 编辑器,Maven compiler 插件
  19. 设计模式—单例模式(饿汉式、懒汉式)
  20. 成为一个大数据大牛需要掌握的知识树

热门文章

  1. 开源大数据平台的安全实践
  2. 作者:​王宁(1979-),男,厦门华厦学院副教授、高级工程师。
  3. 作者:朱扬勇(1963-),男,博士,复旦大学计算机科学技术学院教授、学术委员会主任,上海市数据科学重点实验室主任。...
  4. 作者:卢祥虎,男,北京金信网银金融信息服务有限公司机器学习算法工程师。...
  5. 不连续字符的串计数(洛谷P4439题题解,Java语言描述)
  6. 用项目案例彻底理解Spring IOC容器
  7. boost一些常用库(数据结构,迭代器,算法及字符串) 简单介绍
  8. scrum 开发方式学习笔记
  9. macOS的控制台Console.app
  10. Jenkins Pipline语法