What’s compatible
Cache-Pot implements all the command groups you rely on day-to-day:Strings
GET, SET, MGET, MSET, INCR, APPEND, GETRANGE, and moreHashes
HSET, HGET, HGETALL, HDEL, HMGET, HKEYS, HVALS, HLENLists
LPUSH, RPUSH, LPOP, RPOP, LRANGE, LLEN, LINDEXSets
SADD, SREM, SMEMBERS, SISMEMBER, SCARDSorted Sets
ZADD, ZREM, ZSCORE, ZRANGE, ZRANGEBYSCORE, ZCARDPub/Sub
SUBSCRIBE, UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, PUBLISHTransactions
MULTI, EXEC, DISCARD, WATCH, UNWATCHKey Expiry
EXPIRE, PEXPIRE, EXPIREAT, TTL, PTTL, PERSISTIteration
SCAN, HSCAN, SSCAN, ZSCAN with MATCH and COUNTAuth & Select
AUTH, SELECT 0, PING, QUIT, ECHOServer
INFO, DBSIZE, FLUSHDB, SAVE, BGSAVE, BGREWRITEAOFObservability
MONITOR, SLOWLOG, CLIENT LIST, CONFIG GET/SETWhat’s different
Cache-Pot is honest about where it diverges from Redis. These differences only matter if your current setup uses the specific features listed below.If you use Redis purely as a cache or key/value store, none of these differences will affect you.
| Feature | Redis | Cache-Pot |
|---|---|---|
| Multiple databases | SELECT 0 through SELECT 15 | SELECT 0 only — SELECT 1+ returns an error |
| Clustering & replication | Full support | Single-node only in v1 |
| Protocol version | RESP2 and RESP3 | RESP2 only |
| RedisSearch / RedisJSON modules | Available as add-ons | Not available — Cache-Pot has its own VSET/VSEARCH and SCACHE.* commands |
Migration steps
Install Cache-Pot
Install via Go, Docker, or build from source:Cache-Pot starts listening on
:6379 by default — the same port Redis uses.Export your data from Redis (if you need it)
Cache-Pot uses its own snapshot format, not Redis’s RDB format. If you have data in Redis that needs to carry over, export it using
redis-cli and replay the writes:For a fresh start or when migrating only the connection (not the data), skip this step entirely.
Update your connection string
Point your application at Cache-Pot. If Cache-Pot is running locally on the default port, your connection string likely does not need to change at all:
Configure authentication (if you use AUTH)
If your Redis instance requires a password, start Cache-Pot with the same password using
--auth or the CACHEPOT_AUTH environment variable:Client library examples
No code changes are required — only the server address changes (and only if Cache-Pot is on a different host).- Node.js (ioredis)
- Python (redis-py)
- Go (go-redis)