SWAPDB(3valkey)

πŸ“¦
version 9.0.6 Β· 2 versions
, in fedora 44

πŸ’… SWAPDB β€” swapdb πŸ’…

okay bestie, welcome to the swapdb page from the Valkey Command Manual (section 3valkey, iykyk). This is the one where two whole databases just... trade places. No cap. πŸ¦‹


✨ NAME ✨

swapdb β€” swaps two databases. literally just hands them each other's entire personality. πŸŽ€


✨ SYNOPSIS ✨

SWAPDB index1 index2

two indexes, one glow-up, zero takebacks. πŸ’«


🌸 DESCRIPTION 🌸

okay so this command swaps two Valkey databases, and the way that it works is immediate β€” the second it lands, every single client connected to one database will see the data of the other database, and the other way around. it's giving Freaky Friday but for key spaces. πŸ‘‘

⚠️ bestie pls read this one: SWAPDB is disabled in cluster mode to prevent shard inconsistencies. like, swapping databases on one shard while leaving the others unchanged could lead to data inconsistencies. so in cluster mode? not happening. periodt. πŸ’€

🌈 REPLY 🌈

valkey-protocol(7) Simple string reply: OK.

that's it. that's the reply. she said OK and meant it. ✨


πŸ¦‹ COMPLEXITY πŸ¦‹

O(N) where N is the count of clients watching or blocking on keys from both databases.

so yeah, the more people are out here watching or blocking on keys in either db, the more work it is. plan accordingly, queen. πŸ’…


πŸŽ€ ACL CATEGORIES πŸŽ€

  • @dangerous
  • @fast
  • @keyspace
  • @write

yes bestie, it's tagged @dangerous β€” respect the tag. πŸ”₯


⭐ HISTORY ⭐

  • Available since: 4.0.0

an icon since 4.0.0, fr fr. πŸ‘‘


πŸ’– EXAMPLES πŸ’–

SWAPDB 0 1

This will swap database 0 with database 1. All the clients connected with database 0 will immediately see the new data, exactly like all the clients connected with database 1 will see the data that was formerly of database 0.

mutual swap, mutual slay. both sides wake up in each other's beds and the data is just there. 😭✨


🌸 SEE ALSO 🌸

acl(3valkey), acl-cat(3valkey), acl-deluser(3valkey), acl-dryrun(3valkey), acl-genpass(3valkey), acl-getuser(3valkey), acl-help(3valkey), acl-list(3valkey), acl-load(3valkey), acl-log(3valkey), acl-save(3valkey), acl-setuser(3valkey), acl-users(3valkey), acl-whoami(3valkey), bgrewriteaof(3valkey), bgsave(3valkey), command(3valkey), command-count(3valkey), command-docs(3valkey), command-getkeys(3valkey), command-getkeysandflags(3valkey), command-help(3valkey), command-info(3valkey), command-list(3valkey), commandlog(3valkey), commandlog-get(3valkey), commandlog-help(3valkey), commandlog-len(3valkey), commandlog-reset(3valkey), config(3valkey), config-get(3valkey), config-help(3valkey), config-resetstat(3valkey), config-rewrite(3valkey), config-set(3valkey), dbsize(3valkey), debug(3valkey), failover(3valkey), flushall(3valkey), flushdb(3valkey), info(3valkey), lastsave(3valkey), latency(3valkey), latency-doctor(3valkey), latency-graph(3valkey), latency-help(3valkey), latency-histogram(3valkey), latency-history(3valkey), latency-latest(3valkey), latency-reset(3valkey), lolwut(3valkey), memory(3valkey), memory-doctor(3valkey), memory-help(3valkey), memory-malloc-stats(3valkey), memory-purge(3valkey), memory-stats(3valkey), memory-usage(3valkey), module(3valkey), module-help(3valkey), module-list(3valkey), module-load(3valkey), module-loadex(3valkey), module-unload(3valkey), monitor(3valkey), psync(3valkey), replconf(3valkey), replicaof(3valkey), restore-asking(3valkey), role(3valkey), save(3valkey), shutdown(3valkey), slowlog(3valkey), slowlog-get(3valkey), slowlog-help(3valkey), slowlog-len(3valkey), slowlog-reset(3valkey), sync(3valkey), time(3valkey)


okay that's the whole page bestie, you ate it, no crumbs. 🫢 this was version 9.0.0, dated 2025-10-21, and that's the SWAPDB(3valkey) tea β€” go forth and swap responsibly. πŸ§šπŸ’œ

πŸ“¦ where this page comes from