Crate rdb [stability]
[-] [+]
[src]
rdb - Parse, analyze and dump RDB files
A RDB file is a binary representation of the in-memory data of Redis. This binary file is sufficient to completely restore Redis’ state.
This library provides the methods to parse and analyze a RDB file and to reformat and dump it in another format such as JSON or RESP, the Redis Serialization.
You can depend on this library via Cargo:
[dependencies]
rdb = "*"
Basic operation
rdb-rs exposes just one important method: parse
.
This methods takes care of reading the RDB from a stream,
parsing the containted data and calling the provided formatter with already-parsed values.
let file = File::open(&Path::new("dump.rdb")).unwrap(); let reader = BufReader::new(file); rdb::parse(reader, rdb::formatter::JSON::new(), rdb::filter::Simple::new());
Formatter
rdb-rs brings 4 pre-defined formatters, which can be used:
PlainFormatter
: Just plain output for testingJSONFormatter
: JSON-encoded outputNilFormatter
: Surpresses all outputProtocolFormatter
: Formats the data in RESP, the Redis Serialization Protocol
These formatters adhere to the RdbParseFormatter
trait
and supply a method for each possible datatype or opcode.
Its up to the formatter to correctly handle all provided data such as
lists, sets, hashes, expires and metadata.
Command-line
rdb-rs brings a Command Line application as well.
This application will take a RDB file as input and format it in the specified format (JSON by default).
Example:
$ rdb --format json dump.rdb
[{"key":"value"}]
$ rdb --format protocol dump.rdb
*2
$6
SELECT
$1
0
*3
$3
SET
$3
key
$5
value
Reexports
pub use parser::RdbParser; |
Modules
filter | |
formatter | |
parser | |
types |
Functions
parse |