kvdr
Key/Value Dump and Restore (KVDR)
Simple tool to dump and restore data from Key/Value (Redis like) databases.
Requirements
Installation
Quick (Linux)
Assuming you have pip3 already installed (CentOS: yum install python3 installs python3-pip too):
pip3 install --user kvdr
kvdr --help
# or, in the case .local/bin is not in your $PATH:
# .local/bin/kvdr --help
Quick (Linux, Git)
You may want to install a version that has not been published to PyPI. In this case please do the following:
# Create virtual environment
python3 -m venv $HOME/.kvdr
# Activate it
. $HOME/.kvdr/bin/activate
# Install kvdr, version 0.9.8
pip3 install git+https://gitlab.com/dejan/kvdr.git@0.9.8#egg=kvdr
In theory every useful change I made in kvdr is tagged with a new (semantic) version, so it may be that at the time you read this there were some newer releases, so please check the GitLab page.
Installation on Windows/ReactOS should be as straightforward. I suggest you try MSYS2. In MSYS2, with Python3 packages installed, the installation steps should be the same as above.
How to use
Use kvdr or kvdr --help to see the list of available options. It should look something like:
KVDR - Key/Value Dump and Restore
Usage:
kvdr dump [--file=<file_name> | --screen] <redis_url>
kvdr load (--file=<file_name>) [--dry-run] <redis_url>
kvdr --dry-run
kvdr (-h | --help)
kvdr --version
Options:
-h --help Show this screen.
--version Show version.
--screen Dump to the console instead of file.
--file=<file_name> A file where we store dumped Redis records. Default: "redis.dump"
--dry-run A trial run. Works only for the loading operation.
Examples:
kvdr dump --file=redis13.backup redis://admin:BABADEDAuikxWx0oPZYfPE3IXJ9BVlSC@localhost:6379/13
kvdr load --file=redis13.backup redis://:BABADEDAuikxWx0oPZYfPE3IXJ9BVlSC@localhost:6379/3
Data dump
redis-cli -h localhost -a BABADEDAuikxWx0oPZYfPE3IXJ9BVlSC -n 13 < var/test-data.redis
kvdr dump --file=redis-dump.txt redis://admin:BABADEDAuikxWx0oPZYfPE3IXJ9BVlSC@localhost:6379/13
If you have just cloned the kvdr repository, but not installed anything, you can run it inside the working directory:
cd <path to the working directory>
python3 -m venv $HOME/.kvdr
# Activate it
. $HOME/.kvdr/bin/activate
PYTHONPATH=. python3 -m kvdr.kvdr dump --file=redis-dump.txt redis://admin:BABADEDAuikxWx0oPZYfPE3IXJ9BVlSC@localhost:6379/13
Data load
Load the redis.dump file data into the redis://localhost/3 database
# Let's first delete all the data in the existing database:
redis-cli -h localhost -a BABADEDAuikxWx0oPZYfPE3IXJ9BVlSC -n 3 | echo "flushdb\nquit"
# Load the data
kvdr load --file=redis.dump redis://localhost/3
This does not work (yet):
kvdr load --dry-run --file=redis.dump file:///blah.dat
Credits
Andy McCurdy - for writing fantastic Python library for Redis.
Future
- Add support for memcached
- Add support for DynamoDB
- Check whether kvdr works out-of-box with KeyDB
- Design an API so users can write Dumper/Loader implementations of their own.
Bug reports and feature requests
Please file an issue on GitLab.
Metadata
Release files for kvdr 1.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| kvdr-1.0.4-py3-none-any.whl | Python 3 | none | any | Details for kvdr-1.0.4-py3-none-any.whl |
Release files / kvdr-1.0.4-py3-none-any.whl
| Download URL | kvdr-1.0.4-py3-none-any.whl |
|---|---|
| Size | 9.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
782ea8a7faf829f935736f1761f4eb56d081e9b5a0e52bb61e58a7dd03ee871c
|
|
BLAKE2b-256 checksum How to use checksums |
3642ce636e07be55a212370bb1f2c424da7c67b2ee4bdc85e5b1063ad292bc37
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.5
|
Security for kvdr 1.0.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.