What maps to what: migrate from Redis to KiviDB
The command reference has every command, and Redis compatibility summarises the differences.
| Redis | KiviDB | |
|---|---|---|
| Protocol | RESP2, RESP3 | RESP2, RESP3 |
| Commands run on | One thread | Every core |
| Default port | 6379 | 6380 (KiviDB Cloud: 6379, or 6380 with TLS) |
| Data types | Strings, lists, sets, sorted sets, hashes (field expiry from 7.4), streams, bitmaps, geo, HyperLogLog | The same, with field expiry |
Lua (EVAL, EVALSHA, FUNCTION) | Built in | The lua and full builds; a switch when you create a KiviDB Cloud database. The default build answers with an error |
| TLS | Built in | The tls and full builds; on or required per database on KiviDB Cloud |
| Search, JSON, time series, vectors | Modules, or built into Redis 8 | Built in |
Modules (MODULE LOAD) | Supported | Not supported |
| ACL users | ACL file, ACL SETUSER | ACL file, ACL SETUSER; KiviDB Cloud: users in the console |
| Persistence | RDB save points, AOF | AOF (--aof), BGSAVE; save points are accepted and do nothing |
| Replication | REPLICAOF | REPLICAOF, and replicating from a Redis primary |
| Sentinel | Supported | Not implemented. Use cluster mode, the Kubernetes operator or KiviDB Cloud for failover |
| Cluster | 16,384 hash slots | 16,384 hash slots, the same CLUSTER commands. KiviDB nodes cluster only with KiviDB nodes |
| Search text matching | Stemming, phonetic | Whole words, prefixes, suffixes, infixes and fuzzy; no stemming or phonetic matching |
| Config file | redis.conf | kividb.conf, read strictly: an unknown directive stops the server |
The command reference has every command, and Redis compatibility summarises the differences.
Which build
KiviDB ships four builds of each release:
| Build | Includes | Use it when |
|---|---|---|
| default | the server | you use no Lua scripts and no TLS |
lua | Lua scripting | you use EVAL, EVALSHA or FUNCTION (BullMQ, Sidekiq and many locking libraries do) |
tls | TLS | clients connect over TLS |
full | Lua and TLS | you are not sure; this is the general-purpose build |
The Docker image tags follow the same names, e.g. kividb/kividb:v1.2.0-full.
The release files are kividb-linux-x86_64.tar.gz, kividb-lua-…,
kividb-tls-… and kividb-full-….