本文实例讲述了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程序设计有所帮助。
mysql 5.5 ,将数据库中指定的用户数据迁移到另外一个库,不保留主键,并更新关联主键字段。如:article 表的id迁移到新库的时候是重新生成的自增id,同时需要更新article_item表中的article_id为新的记录。大概有80张表,有什么比较好比较便捷的方法吗?
move key db-index 返回1成功。0 如果key不存在,或者已经在指定数据库中
使用 LiquiBase 管理数据库变更 数据库通常不能够与它们支持的应用程序保持同步,从管理方面来讲,将数据库和数据置于一个已知状态是个很大的挑战。在本期的 让开发自动化中,自动化专家 Paul Duvall 演示了如何使用开源的 LiquiBase 数据库迁移工具轻松地处理数据库和应用程序的频繁变更。 在过去几年中,我使用过的大多数应用程序都是需要管理大量数据的企业应用程序。从事这类项目的开发
问题内容: 我正在使用Java开发数据库迁移工具。该工具将数据库表及其数据复制到目标数据库。但是我希望它可以在不同的数据库上工作。从mysql复制并在derby等中创建。使用JDBC,我们可以收集有关表及其列的足够信息。但是我要问的是,是否可以使用sql free在Java上重新创建表。我的意思是不同的数据库具有不同的数据类型,有时它们在sql语法上也有所不同。那么JDBC或任何其他库(可以是开放
在开发和维护一个数据库驱动的应用程序时, 数据库的结构会像代码一样不断演变。 例如,在开发应用程序的过程中,会增加一张新表且必须得加进来; 在应用程序被部署到生产环境后,需要建立一个索引来提高查询的性能等等。 因为一个数据库结构发生改变的时候源代码也经常会需要做出改变, Yii 提供了一个 数据库迁移 功能,该功能可以记录数据库的变化, 以便使数据库和源代码一起受版本控制。 如下的步骤向我们展示了
简介 迁移就像是数据库的版本控制, 允许团队简单轻松的编辑并共享应用的数据库表结构,迁移通常和 Laravel 的 数据库结构生成器配合使用,让你轻松地构建数据库结构。如果你曾经试过让同事手动在数据库结构中添加字段,那么数据库迁移可以让你不再需要做这样的事情。 Laravel 的 Schema 门面 对所有 Laravel 支持的数据库系统提供了创建和操作数据表的相应支持。 生成迁移 使用 Art