唯品会redis-migrate-tool redis移行ツール翻訳
3725 ワード
vipshop/redis-migrate-tool, , redis 。
/*
:
Mac ,redis_check、redis_testinsert 。redis auth , ( ...)
redis
redis
... ...
:
brew switch redis 3.2.3/4.0.11 // brew redis
*/
:
automake
libtool
autoconf
bzip2
:
git clone [email protected]:vipshop/redis-migrate-tool.git
cd redis-migrate-tool
autoreconf -fvi
./configure
make
, :
src/redis-migrate-tool -h
:
src/redis-migrate-tool -c rmt.conf -o log -d
:
, 'source' redis , , redis rdb 。
'source' redis , , redis rdb , rmt.conf 'source_safe: false'
redis :
, 'target' redis , , 'target' redis :
RENAME,RENAMENX,RPOPLPUSH,BRPOPLPUSH,FLUSHALL,FLUSHDB,BITOP,MOVE,GEORADIUS,GEORADIUSBYMEMBER,EVAL,EVALSHA,SCRIPT,PFMERGE
:
3 :
source
target
common
source target
type - redis , :
single
twemproxy
redis cluster
rdb file
aof file
servers - redis 。 type 'twemproxy', twemproxy 。 type rdb , rdb 。
redis_auth - redis
timeout - redis / ( ), 120000。( : 'source' )
hash - hash 。( : type 'twemproxy'), :
one_at_a_time
md5
crc16
crc32(crc32 libmemcached )
crc32a( crc32 )
fnv1_64
fnv1a_64
fnv1_32
fnv1a_32
hsieh
murmur
jenkins
hash_tag - , hash 。 :{} $$。 , hash_tag 。( : type 'twemproxy')
distribution - 。( : type 'twemproxy')
ketama
modula
random
common
listen - (name:port ip:port)。 :127.0.0.1:8888(redis-migrate-tool, redis-cli)
max_clients - 。 :100
threads - redis-migrate-tool 。 :CPU
step - 。 , , 。 :1
mbuf_size - Mbuf 。 :512
noreply - , 'target' redis 。 :false
source_safe - , 'source' redis 。 true, 、 , redis rdb 。 ,'source_safe: true' , 。 :true
dir - , ( :rdb )。 :
filter - 'key'。 'Glob' 。 :NULL
?
*
[ae]
[^e]
[a-b]
\ -
:
redis-cli redis-migrate-tool。 , 'common'
'redis-migrate-tool':( : redis-cli , , !!)
redis-cli -h 127.0.0.1 -p 8888
info - Server、Clients、Memory、Group、Stats
shutdown [seconds|asap]
:
'source' redis
redis-migrate-tool , 'target' redis
redis-migrate-tool
:
seconds - redis-migrate-tool , 'target' redis 。 :10s
asap - ,
:
, 'redis_check' , 'source' 'target' 。 1000 key
src/redis-migrate-tool -c rmt.conf -o log -C redis_check
key,
src/redis-migrate-tool -c rmt.conf -o log -C "redis_check 200000"
key, :
'redis_testinsert' 。 1000 key
src/redis-migrate-tool -c rmt.conf -o log -C "redis_testinsert"
key,
src/redis-migrate-tool -c rmt.conf -o log -C "redis_testinsert 30000"
'string' key, :
src/redis-migrate-tool -c rmt.conf -o log -C "redis_testinsert tring"
key, :
src/redis-migrate-tool -c rmt.conf -o log -C "redis_testinsert string|set|list 10000"