>  기사  >  백엔드 개발  >  Redis 데이터베이스 지정 라이브러리 번호 migration_php 기술을 구현하는 PHP 방법

Redis 데이터베이스 지정 라이브러리 번호 migration_php 기술을 구현하는 PHP 방법

WBOY
WBOY원래의
2016-05-16 20:25:441169검색

이 기사의 예에서는 Redis 데이터베이스의 지정된 라이브러리 번호를 PHP로 마이그레이션하는 방법을 설명하고 참고용으로 모든 사람과 공유합니다. 세부 내용은 다음과 같습니다.

Redis 일반 데이터베이스 마이그레이션은 전체 Redis만 저장하거나 마스터-슬레이브를 사용할 수 있습니다. 물론 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('*')
$개수 = 0
$total = 개수($keys)
foreach($keys를 $key로){
If( $count % 100 == 1){
echo "$count/$totaln"
}
$type = $from_redis->유형($key)
스위치($type){
사례 Redis::REDIS_STRING:
                $val = $from_redis->get($key)
                 $to_redis->set($key, $val)
             휴식
사례 Redis::REDIS_LIST:
                  $list = $from_redis->lRange($key, 0, -1)
foreach($list를 $val로 표시){
                          $to_redis->rPush($key, $val)
               }
             휴식
사례 Redis::REDIS_HASH:
$hash = $from_redis->hGetAll($key)
                  $to_redis->hMSet($key, $hash)
             휴식
사례 Redis::REDIS_ZSET:
                  $zset = $from_redis->zRange($key, 0, -1, true)
foreach($zset as $val=>$score){
$to_redis->zAdd($key, $score, $val)
               }
             휴식
}
}
함수 redis_init($conf){
$redis = 새로운 Redis()
Preg_match('/^([^:] )(:[0-9] )?\/(. )?/', $conf, $ms)
$호스트 = $ms[1]
$port = 트림($ms[2], ':')
$db = $ms[3]
$redis->connect($host, $port)
$redis->선택($db)
$redis 반환
}
?>

이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.