php数据迁移代码 php实现数据转发

php实现redis数据库指定库号迁移的方法

这篇文章主要介绍了php实现redis数据库指定库号迁移的方法,涉及对于redis数据库的操作技巧,非常具有实用价值,需要的朋友可以参考下

目前创新互联已为千余家的企业提供了网站建设、域名、雅安服务器托管网站托管运营、企业网站设计、南芬网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

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

redis普通的数据库迁移,只能整个redis

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

代码如下:

[root@localhost

~]#

php

1.php

1/407

101/407

201/407

301/407

401/407

PHP实例代码如下:

代码如下:

?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/$totaln";

}

$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网站搭建的数据库如何转移

把A中的q1倒出来 mysqldump -uadmin1 -padmin111 Q1 Q1.sql

然后再B中新建Q2,create database Q2

应用Q2 use Q2

导入Q1 source Q1.sql

赋予用户 grant all privileges on Q2.* to 'admin2'@localhost identified by 'admin2222'

这样就可以了!

如何在PHP项目中使用phinx进行数据迁移和建表

建表

phinx\bin\phinx.bat migrate -e production

建设 phinx.yml文件

paths:

migrations: %%PHINX_CONFIG_DIR%%\database\migrations

seeds: %%PHINX_CONFIG_DIR%%\database\seeds

environments:

default_migration_table: phinxlog

default_database: development

production:

adapter: mysql

host: localhost

name: jitamin2

user: root

pass: ‘‘

port: 3306

charset: utf8

development:

adapter: mysql

host: localhost

name: development_db

user: root

pass: ‘‘

port: 3306

charset: utf8

testing:

adapter: mysql

host: localhost

name: testing_db

user: root

pass: ‘‘

port: 3306

charset: utf8

数据迁移命令如下:

phinx\bin\phinx.bat seed:run -e production

%%PHINX_CONFIG_DIR%%\database\seeds下面的文件示例CreateGroupsTable.php如下:

?php

/*

* This file is part of Jitamin.

*

* Copyright (C) Jitamin Team

*

* For the full copyright and license information, please view the LICENSE

* file that was distributed with this source code.

*/

use Jitamin\Foundation\Security\Role;

use Phinx\Seed\AbstractSeed;

class UserSeeder extends AbstractSeed

{

/**

* Run Method.

*/

public function run()

{

$data = [

[

‘username‘ = ‘admin‘,

‘password‘ = bcrypt(‘admin‘),

‘email‘ = ‘admin@admin.com‘,

‘role‘ = Role::APP_ADMIN,

],

];

$users = $this-table(‘users‘);

$users-insert($data)

-save();

}

}


文章标题:php数据迁移代码 php实现数据转发
本文网址:http://cdiso.cn/article/doggdgg.html

其他资讯