More information about applications
air3ijai opened this issue ยท 4 comments
Ask a question
Hello,
I just found this toolset when searching a way to copy data between Redis master and Redis master with replication.
Basically it is about master/master copying.
I found the following binaries
rct - Probably copying/exporting the data from Redis/RDB
rcut
rdt - Probably working wit the DB
ret
rmonitor - Based on the name it is about monitoring
rmt - Migrate the data
rst - Sync the data
But it is not clear from the provided examples what exactly they are doing. Can you please provide a short description about every of them. Also a a kind of Description:
to the help output will be very usefully.
Another question is about sync
and migration
. Are they different or do the same stuff? Sync sounds like just a copying, when Migration is more about moving.
For example
rst -s redis://source:6379 -m redis://destination:6379
Will this command move all the keys from all DB's or will just copy all of them?
-m, --migrate <uri> Migrate to uri. eg:
redis://host:port?authPassword=foobar.
rst
and rmt
all just copy keys to target. difference is that rmt copy snapshot(use BGSAVE generate an rdb file) to target redis. if snapshot done, rmt
done.
rst
not only copy snapshot data but also incremental command. so if you input a command like set key value
in source redis. and this command will copy to target redis by rst
command. so rst
command won't terminate.
rct - Convert rdb to other format. Analyze memory usage.
rcut - Cut aof-use-rdb-preamble file to aof file and rdb file.
rdt - Backup, split, concat rdb file.
ret - Run your own extension plugin.
rmt - Migrate snapshot data.
rst - Sync snapshot data and incremental command.
rmonitor - Based on the name it is about monitoring.
Just checked the latest version and there is no such information :)
rct --help
Usage: rct [-hV] -f <format> -s <source> -o <file> [-e <escape>]
[-d <db>...] [-k <regex>...>] [-t <type>...] [-b <bytes>]
[-l <n>] [-r]
Options:
-b, --bytes <bytes> Limit memory output(--format mem) to keys
greater to or equal to this value (in bytes)
A kind of that
Convert rdb to other format. Analyze memory usage.
Usage: rct [-hV] -f <format> -s <source> -o <file> [-e <escape>]
[-d <db>...] [-k <regex>...>] [-t <type>...] [-b <bytes>]
[-l <n>] [-r]
Options:
-b, --bytes <bytes> Limit memory output(--format mem) to keys
greater to or equal to this value (in bytes)
Not yet add above information. English is not my native language.
So need more time to consider that description. or you can pull a PR about this.
step 1: find XRct.java
, XRcut.java
, XRdt.java
, XRet.java
, XRMonitor.java
, XRmt.java
, XRst.java
step 2: add following description = "Description: fixme",
on above class file.
@Command(name = "rct",
separator = " ",
usageHelpWidth = 80,
synopsisHeading = "",
mixinStandardHelpOptions = true,
optionListHeading = "%nOptions:%n",
versionProvider = XVersionProvider.class,
customSynopsis = {
"Usage: rct [-hV] -f <format> -s <source> -o <file> [-e <escape>]",
" [-d <db>...] [-k <regex>...>] [-t <type>...] [-b <bytes>]",
" [-l <n>] [-r]"
},
description = "Description: fixme",
footer = {"%nExamples:",
" rct -f dump -s ./dump.rdb -o ./appendonly.aof -r",
" rct -f resp -s redis://127.0.0.1:6379 -o ./target.aof -d 0 1",
" rct -f json -s ./dump.rdb -o ./target.json -k user.* product.*",
" rct -f mem -s ./dump.rdb -o ./target.aof -e redis -t list -l 10 -b 1024"})