Before you start: migrate from Valkey to KiviDB

redisversion reads 7.2.4 on every Valkey release; the real version is valkeyversion.

export REDISCLI_AUTH="$VALKEY_PASSWORD"
V="valkey-cli -h valkey.internal -p 6379"     # redis-cli works too

$V INFO server | grep -E 'valkey_version|redis_version|server_mode'
$V INFO keyspace          # 9.x: keys_with_volatile_items counts hashes with field expiry
$V INFO memory | grep -E '^used_memory_human|maxmemory_human|maxmemory_policy'
$V INFO commandstats | grep -E 'cmdstat_(eval|evalsha|fcall|hexpire|hpexpire|hsetex|hgetex)'
$V MODULE LIST
$V ACL LIST

redis_version reads 7.2.4 on every Valkey release; the real version is valkey_version.

If you seeThen
valkey_version 9.0 or laterUse RedisShake sync_reader (below).
keys_with_volatile_items above 0 (9.x)Some hashes have field expiry. Copy them with the script in Valkey 9.
cmdstat_eval, cmdstat_evalsha or cmdstat_fcallUse the lua or full build, or turn Lua on for the KiviDB Cloud database.
Modules in MODULE LISTSearch indexes: run FT.CREATE again. JSON documents come across. Bloom filters don't.
server_mode:clusterSee Cluster mode.

Sizing. Give KiviDB at least Valkey's used_memory plus headroom.