Before you start: migrate from Amazon ElastiCache to KiviDB

Run these against the source with redis-cli or valkey-cli from a machine in the VPC (add --tls if in-transit encryption is on, and --user/--pass or -a):

Check what the source uses

Run these against the source with redis-cli or valkey-cli from a machine in the VPC (add --tls if in-transit encryption is on, and --user/--pass or -a):

redis-cli -h my-cache.xxxxxx.use1.cache.amazonaws.com -p 6379 --tls --user app --pass "$PASSWORD" INFO server | grep -E 'redis_version|valkey_version'
redis-cli ... INFO keyspace
redis-cli ... INFO memory | grep -E 'used_memory_human|maxmemory_policy'

On Serverless, INFO answers too; KEYS, MEMORY and CLIENT LIST are not available there.

CheckWhy it matters
Engine and versionValkey 9.0 or later changes how you move the data (below)
Cluster modeDecides whether you get one RDB file or one per shard, and the client you use afterwards
EVAL, EVALSHA, FUNCTION in your code (BullMQ, Sidekiq, Redlock and many lock libraries use them)KiviDB needs the lua or full build; on Cloud, turn on Lua scripting when you create the database
In-transit encryptionYou need the tls or full build to keep TLS; on Cloud, turn TLS on
AUTH token, RBAC users, IAM usersRecreate users in KiviDB; IAM users need a password instead
maxmemory-policy in the parameter groupSet the same eviction policy in KiviDB; KiviDB's default is noeviction
Databases other than 0 (cluster mode disabled only)KiviDB has 16 databases, as Redis does; a sharded KiviDB has only database 0
Data tiering node typeA backup cannot be exported; copy over commands instead
Vector search indexesIndex definitions are not in the backup; run FT.CREATE again in KiviDB

Size it

In CloudWatch, BytesUsedForCache is the memory the engine uses (for a node-based cluster, read it per node and add up the primaries). DatabaseMemoryUsagePercentage shows how full each node is. Serverless reports BytesUsedForCache for the whole cache. Size KiviDB from the peak over the last month, with headroom for growth. KiviDB Cloud seeds a database from a file only when the file is no larger than the database.

Pick the build

You useSelf-hosted buildKiviDB Cloud
Neither Lua nor TLSdefaultdefault
LualuaLua scripting on
TLStlsTLS on (port 6380)
Bothfullboth on