Command Reference
This page covers the current server-recognized commands and the guarantees or caveats attached to each group.
Since version: 0.1.0; binary-safe values and version-based CAS were added in 0.8.0.
Caveat: Vaylix is not Redis-compatible. Command names, reply shapes, and semantics are Vaylix-specific.
Connection and diagnostics
Section titled “Connection and diagnostics”auth <username> <password>ping [message]infometricsmetrics promhealthauthauthenticates the current session when auth is enabledpingreturnsPONGor the provided messageinforeturns deterministic key/value sections such asserver.*,transport.*,persistence.*, andsecurity.*metricsreturns numeric metricsmetrics promreturns Prometheus exposition texthealthreturns machine-readable readiness and role state
Key-value operations
Section titled “Key-value operations”get <key>set <key> <value> [nx|xx] [if version <version>] [ex <seconds>|px <millis>] [keepttl] [get]setnx <key> <value>getdel <key>getex <key> [ex <seconds>|px <millis>|persist]mget <key> [key ...]mset <key> <value> [key value ...]del <key> [key ...]delete <key> [key ...]exists <key>Keys are UTF-8 strings. Values are opaque bytes. Text CLI examples send UTF-8, but binary clients and the SDK can send arbitrary byte payloads.
SET ... IF VERSION <version> is the compare-and-set primitive. It succeeds only when the current stored version matches the expected version.
Numeric and TTL operations
Section titled “Numeric and TTL operations”incr <key>decr <key>expire <key> <seconds>ttl <key>persist <key>INCR and DECR operate on UTF-8 encoded signed integers. Invalid integer values return structured server errors rather than silent coercion.
Rename, scan, and introspection
Section titled “Rename, scan, and introspection”rename <source> <destination>renamenx <source> <destination>scan <cursor> [match <pattern>] [count <n>]dbsizecountlistclearflushdbsavesnapshotscan is cursor-based and returns deterministic sorted key order.
clear / flushdb requires the clear permission when RBAC is enabled.
Backup and restore
Section titled “Backup and restore”backupbackup to <path>backup verify <logical-dump-json>backup verify from <path>restore <logical-dump-json>restore from <path>restore check <logical-dump-json>restore check from <path>restore replaces the current keyspace with the validated logical backup.
Known limitation:
- restore is single-node engine replacement, not a distributed transaction surface
Transactions
Section titled “Transactions”multiexecdiscardTransactions are serialized leader-side execution over a queued command list.
Current limits:
- no MVCC
- no distributed transactions
- no isolation-level selection
- pipelined/sequence-tagged requests are rejected while a transaction is active
RBAC and administration
Section titled “RBAC and administration”create user <username> password <password>alter user <username> password <password>drop user <username>create role <role>drop role <role>grant role <role> to <username>revoke role <role> from <username>grant permission <permission> [on <pattern>] to <role>revoke permission <permission> [on <pattern>] from <role>show usersshow rolesshow grantsshow grants for user <username>show grants for role <role>whoamiPassword policy currently requires at least 12 characters with at least one ASCII letter and one ASCII digit.
Maintenance and replication administration
Section titled “Maintenance and replication administration”maintenance onmaintenance offmaintenance statusshow clustershow replicationcluster join <node-id> <host:port>cluster remove <node-id>promote followerpause replicationresume replicationThese commands are for operator workflows. Application traffic should normally target the current leader and avoid direct control-plane mutation.
Client-local commands
Section titled “Client-local commands”helpexitquitThese are handled by the interactive client and are not sent to the server.