
Security News
CISA’s 2025 SBOM Guidance Adds Hashes, Licenses, Tool Metadata, and Context
CISA’s 2025 draft SBOM guidance adds new fields like hashes, licenses, and tool metadata to make software inventories more actionable.
This utility provides a way to move the contents of one redis DB to another redis DB. It is inspired by the redis-copy.rb script included in the redis source, but aims to always support all object types and to use the most-efficient methods and commands available to your redis versions:
DUMP
/RESTORE
commands (redis v2.6+)SCAN
instead of KEYS
(redis v2.8+)$ gem install redis-copy
The current options can be grabbed using the --help
flag.
$ redis-copy --help
redis-copy v1.0.0 (with redis-rb 3.0.6)
Usage: redis-copy [options] <source> <destination>
<source> and <destination> must be redis connection uris
like [redis://][<username>:<password>@]<hostname>[:<port>][/<db>]
Specific options:
-p, --pattern PATTERN Only transfer matching keys (default *)
See http://redis.io/commands/keys for more info.
-v, --[no-]verify [PERCENT] Verify percentage of transfers -- VERY SLOW (default 0)
-n, --[no-]allow-nonempty Allow non-empty destination (default false)
-f, --[no-]fail-fast Abort on first failure (default false)
--[no-]pipeline Pipeline redis commands where available (default true)
-r, --require FILENAME Require a script; useful for loading third-party
implementations of key-emitter or copy strategies.
Relative paths *must* begin with `../' or `./'.
-d, --[no-]debug Write debug output (default false)
-t, --[no-]trace Enable backtrace on failure (default false)
--[no-]prompt Prompt for confirmation (default true)
--[no-]dry-run Output configuration and exit
$ redis-copy --no-prompt old.redis.host/9 new.redis.host:6380/3
Source: redis://old.redis.host:6379/9
Destination: redis://new.redis.host:6380/3 (empty)
Key Emitter: Scan
Strategy: DumpRestore
PROGRESS {:success=>1000, :attempt=>1000}
PROGRESS {:success=>2000, :attempt=>2000}
PROGRESS {:success=>3000, :attempt=>3000}
PROGRESS {:success=>4000, :attempt=>4000}
DONE: {:success=>4246, :attempt=>4246}
RedisCopy
uses the implements gem to define interfaces for key-emitter
and copy strategies, so implementations can be supplied by third-parties,
secondary gems, or even a local script; the interface shared examples are even
available on your load-path so you can ensure your implementation adheres to
the interface.
See the existing implementations and their specs for examples, and use the
--require
command-line flag to load up your own. Since implements
treats
last-loaded implementations as inherently better, RedisCopy
will automatically
pick up your implementation and attempt to use it before the bundled
implementations.
git checkout -b my-new-feature
)git commit -am 'Add some feature'
)git push origin my-new-feature
)FAQs
Unknown package
We found that redis-copy demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISA’s 2025 draft SBOM guidance adds new fields like hashes, licenses, and tool metadata to make software inventories more actionable.
Security News
A clarification on our recent research investigating 60 malicious Ruby gems.
Security News
ESLint now supports parallel linting with a new --concurrency flag, delivering major speed gains and closing a 10-year-old feature request.