欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php實現(xiàn)redis數(shù)據(jù)庫指定庫號遷移的方法

 更新時間:2015年01月14日 09:45:29   投稿:shichen2014  
這篇文章主要介紹了php實現(xiàn)redis數(shù)據(jù)庫指定庫號遷移的方法,涉及對于redis數(shù)據(jù)庫的操作技巧,非常具有實用價值,需要的朋友可以參考下

本文實例講述了php實現(xiàn)redis數(shù)據(jù)庫指定庫號遷移的方法,分享給大家供大家參考。具體如下:

redis普通的數(shù)據(jù)庫遷移,只能整個redis save,或者利用主從,當然也可以安裝一個redis-dump,不過比較麻煩,這里提供一種php的腳本,實現(xiàn)指定庫號的遷移,其實也就是遍歷根據(jù)存儲類型,讀出來,插入新庫,效果是這樣:

復(fù)制代碼 代碼如下:
[root@localhost ~]# php 1.php
1/407
101/407
201/407
301/407
401/407

PHP實例代碼如下:
復(fù)制代碼 代碼如下:
<?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程序設(shè)計有所幫助。

相關(guān)文章

  • PHP Array交叉表實現(xiàn)代碼

    PHP Array交叉表實現(xiàn)代碼

    最近需要做到交叉表,而公司的需求比較復(fù)雜,一般的交叉表工具都不適合用
    2010-08-08
  • PHP 多維數(shù)組的排序問題 根據(jù)二維數(shù)組中某個項排序

    PHP 多維數(shù)組的排序問題 根據(jù)二維數(shù)組中某個項排序

    PHP 多維數(shù)組排序 根據(jù)二維數(shù)組中某個項排序,需要的朋友可以參考下。
    2011-11-11
  • php HtmlReplace輸入過濾安全函數(shù)

    php HtmlReplace輸入過濾安全函數(shù)

    這個替換函數(shù),是對用戶輸入的一些安全過濾,防止用戶提交了不安全的代碼。
    2010-07-07
  • 如何在PHP中操作臨時文件

    如何在PHP中操作臨時文件

    關(guān)于文件相關(guān)的操作,想必大家已經(jīng)非常了解了,在將來我們刷到手冊中相關(guān)的文件操作函數(shù)時也會進行詳細的講解。今天,我們先來了解一下在 PHP 中關(guān)于臨時文件相關(guān)的一些內(nèi)容。
    2021-05-05
  • php操作access數(shù)據(jù)庫的方法詳解

    php操作access數(shù)據(jù)庫的方法詳解

    這篇文章主要介紹了php操作access數(shù)據(jù)庫的方法,結(jié)合實例形式詳細分析了php基于ADOdb、PDO及ODBC等方式連接與操作access數(shù)據(jù)庫的具體實現(xiàn)技巧與相關(guān)注意事項,需要的朋友可以參考下
    2017-02-02
  • PHP實現(xiàn)合并兩個有序數(shù)組的方法分析

    PHP實現(xiàn)合并兩個有序數(shù)組的方法分析

    這篇文章主要介紹了PHP實現(xiàn)合并兩個有序數(shù)組的方法,結(jié)合實例形式分析了php針對數(shù)組的合并、遍歷、排序、去重等常見操作技巧,需要的朋友可以參考下
    2017-12-12
  • PHP使用函數(shù)靜態(tài)變量實現(xiàn)指定迭代次數(shù)的方法

    PHP使用函數(shù)靜態(tài)變量實現(xiàn)指定迭代次數(shù)的方法

    這篇文章主要介紹了PHP使用函數(shù)靜態(tài)變量實現(xiàn)指定迭代次數(shù)的方法,結(jié)合實例形式分析了php靜態(tài)變量數(shù)據(jù)存儲的相關(guān)操作技巧,需要的朋友可以參考下
    2018-03-03
  • php使用fputcsv()函數(shù)csv文件讀寫數(shù)據(jù)的方法

    php使用fputcsv()函數(shù)csv文件讀寫數(shù)據(jù)的方法

    這篇文章主要介紹了php使用fputcsv()函數(shù)csv文件讀寫數(shù)據(jù)的方法,分析了fputcsv()函數(shù)針對csv文件的讀寫操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-01-01
  • PHP遍歷數(shù)組的三種方法及效率對比分析

    PHP遍歷數(shù)組的三種方法及效率對比分析

    這篇文章主要介紹了PHP遍歷數(shù)組的三種方法及效率對比,實例分析了foreach、while與for三種遍歷數(shù)組的方法與相關(guān)的效率比對,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • PHP中的float類型使用說明

    PHP中的float類型使用說明

    使用PHP的float類型需要注意的是:PHP的float類型的精度有點問題。如果需要高精度的數(shù)學(xué)計算,可以使用php提供的專用的數(shù)學(xué)函數(shù) arbitrary precision math functions系列和gmp系列函數(shù)。
    2010-07-07

最新評論