Valkey compatibility
Connect to Momento Cache with standard Valkey and Redis clients over RESP. The
shared gateway supports a specific
set of commands. Unsupported commands are rejected with the RESP error -Command not allowed.
Check this page to verify compatibility before migrating a workload.
This allowlist is separate from credential permissions. An allowlisted, modeled command that the
credential cannot run returns
-NOPERM this user has no permissions to run the '<command>' command. Parser-unknown commands can
instead return the ordinary Valkey unknown-command response. See
Database command permissions.
Momento Cache runs Valkey 9. The gateway's supported-command contract below, not the upstream version alone, determines compatibility.
Supported
The service supports all common Valkey data types and operations:
- Strings, including counters and range operations.
- Hashes, including per-field TTLs.
- Lists (non-blocking), sets, and sorted sets, including type-specific scans.
- Bitmaps, geo reads, and HyperLogLog.
- Non-blocking streams.
- Key management such as
DEL,EXPIRE,TTL,TYPE,UNLINK.
Not supported
The following categorized list names common exclusions. It is not an exhaustive list of every unsupported upstream Valkey command.
- Transactions:
MULTI,EXEC,DISCARD,WATCH,UNWATCH. - Pub/Sub:
SUBSCRIBE,PSUBSCRIBE,SSUBSCRIBE,PUBLISH,SPUBLISH,PUBSUB,UNSUBSCRIBE,PUNSUBSCRIBE,SUNSUBSCRIBE. - Blocking commands:
BLMOVE,BLMPOP,BLPOP,BRPOP,BRPOPLPUSH,BZMPOP,BZPOPMAX,BZPOPMIN,WAIT,WAITAOF,XREAD,XREADGROUP. - Database switching:
SELECT. One connection serves one Database. - Scripting:
EVAL,EVALSHA,EVAL_RO,EVALSHA_RO,FCALL,FCALL_RO,FUNCTION,SCRIPT. - Other notable exclusions:
SCAN,SORT,RENAME,RENAMENX,COPY,RANDOMKEY,CLIENT,SUNIONSTORE,SINTERSTORE,SDIFFSTORE,ZUNIONSTORE,ZINTERSTORE, andZDIFFSTORE. UseHSCAN,SSCAN, orZSCANinstead of top-levelSCAN.
Protocol
Connections start in RESP2. Switch to RESP3 per connection with HELLO 3. RESP3 works with
some limitations. Attribute responses are not supported, and a few response types convert
approximately.
Authentication
Authenticate with AUTH <username> <password>, where the username is your Database name and
the password is a Momento API token. The Database is bound to the connection by the username.
The SELECT command is not supported. See Connectivity and the gateway.