Statistics
DB 0
Keys -
Memory (RSS) -
Disk Usage -
Uptime -

Create and manage Redis databases.

Create New Database
Used to encrypt the database. A new DB number is auto-assigned.
Databases
Loading databases...

Execute Redis commands directly. Type your command and see results in real-time.

Space-separated command syntax. Use quotes for values with spaces.

Results will appear here

View and manage keys in the current database.

Enter a search pattern to find keys

Redis command reference with examples. Click a group to expand, click an example to load it into the Command tab.

SET - Set a key to a string value
Paramskey value [EX seconds] [NX|XX]
ReturnsOK
SET user:name "Alice"
GET - Get the value of a key
Paramskey
ReturnsThe value, or nil if key does not exist
GET user:name
DEL - Delete one or more keys
Paramskey [key ...]
ReturnsNumber of keys deleted
DEL user:name
MSET - Set multiple keys at once
Paramskey value [key value ...]
ReturnsOK
MSET name "Alice" age "30" city "Brussels"
MGET - Get values of multiple keys
Paramskey [key ...]
ReturnsArray of values
MGET name age city
INCR / DECR - Increment/decrement integer value
Paramskey
ReturnsNew integer value after operation
SET counter 10
INCR counter
APPEND - Append to a string value
Paramskey value
ReturnsLength of the string after append
APPEND user:name " Smith"
EXISTS - Check if key exists
Paramskey [key ...]
ReturnsNumber of keys that exist
EXISTS user:name

HSET - Set hash field(s)
Paramskey field value [field value ...]
ReturnsNumber of new fields added
HSET user:1 name "Alice" email "[email protected]" age "30"
HGET - Get a hash field value
Paramskey field
ReturnsThe field value, or nil
HGET user:1 name
HGETALL - Get all fields and values
Paramskey
ReturnsArray of field-value pairs
HGETALL user:1
HDEL - Delete hash field(s)
Paramskey field [field ...]
ReturnsNumber of fields deleted
HDEL user:1 email
HMGET - Get multiple hash fields
Paramskey field [field ...]
ReturnsArray of values
HMGET user:1 name email age
HLEN - Get number of fields in hash
Paramskey
ReturnsNumber of fields
HLEN user:1

LPUSH - Prepend values to a list
Paramskey value [value ...]
ReturnsLength of list after push
LPUSH tasks "Buy groceries" "Write code" "Read book"
RPUSH - Append values to a list
Paramskey value [value ...]
ReturnsLength of list after push
RPUSH queue "job1" "job2" "job3"
LPOP / RPOP - Remove and return first/last element
Paramskey
ReturnsThe removed element, or nil
LPOP tasks
RPOP queue
LRANGE - Get a range of elements
Paramskey start stop
ReturnsArray of elements in range
LRANGE tasks 0 -1
LLEN - Get length of a list
Paramskey
ReturnsLength of the list
LLEN tasks
LINDEX - Get element by index
Paramskey index
ReturnsThe element at index, or nil
LINDEX tasks 0

SADD - Add members to a set
Paramskey member [member ...]
ReturnsNumber of new members added
SADD tags "redis" "database" "cache" "fast"
SMEMBERS - Get all members of a set
Paramskey
ReturnsArray of all members
SMEMBERS tags
SISMEMBER - Check if member exists in set
Paramskey member
Returns1 if member exists, 0 otherwise
SISMEMBER tags "redis"
SCARD - Get set cardinality (size)
Paramskey
ReturnsNumber of members
SCARD tags
SREM - Remove members from a set
Paramskey member [member ...]
ReturnsNumber of members removed
SREM tags "cache"

KEYS - Find keys matching pattern
Paramspattern (glob: * ? [abc])
ReturnsArray of matching keys
KEYS *
KEYS user:*
TYPE - Get the type of a key
Paramskey
Returnsstring, list, set, hash, or none
TYPE user:1
EXPIRE / TTL - Set/get key expiration
EXPIREkey seconds → 1 if set, 0 if key missing
TTLkey → seconds remaining, -1 no expiry, -2 missing
EXPIRE user:name 60
TTL user:name
RENAME - Rename a key
Paramsoldkey newkey
ReturnsOK
RENAME user:name user:fullname
DBSIZE - Number of keys in current database
DBSIZE
FLUSHDB - Remove all keys from current database
FLUSHDB
SELECT - Switch to another database
Paramsdb_number (0-999)
ReturnsOK
SELECT 1
INFO - Server information and statistics
INFO
PING - Test server connectivity
PING

VECTOR.INDEX.CREATE - Create a vector index
Paramsindex_name dimension [metric]
Metricscosine (default), l2, ip
ReturnsOK
VECTOR.INDEX.CREATE myindex 128 cosine
VECTOR.INDEX.ADD - Add vectors to an index
Paramsindex_name id vector_json
ReturnsOK
VECTOR.INDEX.ADD myindex vec1 [0.1,0.2,0.3]
VECTOR.INDEX.SEARCH - Search for similar vectors
Paramsindex_name k query_vector_json
ReturnsArray of [id, distance] pairs
VECTOR.INDEX.SEARCH myindex 5 [0.1,0.2,0.3]

DATABASE.CREATE - Create a new database
Paramsdb_number
ReturnsOK with encryption key
DATABASE.CREATE 1
DATABASE.STATUS - Get database status info
Paramsdb_number
ReturnsDatabase metadata
DATABASE.STATUS 0
COMPACT - Compact the database (reclaim space)
COMPACT
MEMORY - Memory usage report
MEMORY
ADMIN.LIST - List server administrators
ADMIN.LIST

Management API for database lifecycle, user administration, and server operations. These commands are sent over the Redis wire protocol (RESP).

MSET Set multiple key-value pairs atomically

Sets multiple key-value pairs in a single transaction. All keys are written atomically. Much faster than individual SET commands for bulk writes.

Params key1 value1 key2 value2 ...
Returns OK
MSET user:1:name "Alice" user:1:email "[email protected]" user:1:age "30"
MGET Get multiple keys at once

Returns the values of all specified keys in a single read. Non-existent keys return null. Much faster than individual GET commands.

Params key1 key2 key3 ...
Returns Array of values (null for missing keys)
MGET user:1:name user:1:email user:1:age
HMSET Set multiple hash fields atomically

Sets multiple field-value pairs in a hash in a single transaction. Creates the hash if it doesn't exist.

Params key field1 value1 field2 value2 ...
Returns OK
HMSET user:1 name "Alice" email "[email protected]" age "30"
HMGET Get multiple hash fields at once

Returns the values of specified fields from a hash in a single read. Non-existent fields return null.

Params key field1 field2 ...
Returns Array of values (null for missing fields)
HMGET user:1 name email age
EXISTS Check if keys exist

Returns the number of specified keys that exist. Supports checking multiple keys at once.

Params key1 key2 ...
Returns Integer count of existing keys
EXISTS user:1:name user:1:email user:999
HEXISTS Check if a hash field exists

Returns 1 if the hash contains the specified field, 0 otherwise.

Params key field
Returns 1 if field exists, 0 otherwise
HEXISTS user:1 name

DATABASE.CREATE Create a new encrypted database

Creates a new database with automatic numbering (up to 1000). Each database is encrypted with ChaCha20-Poly1305 using the provided key. Requires server admin.

Params encryption_key string
Returns Assigned database number (integer)
Auth server admin
DATABASE.CREATE my-secret-key-123
DATABASE.STATUS Get database metadata

Returns metadata for a specific database or all databases: status, creation time, user count, public read flag, and encryption key.

Params db_number or all
Returns Array of metadata fields
Auth server admin
DATABASE.STATUS 0
DATABASE.STATUS all
DATABASE.PUBLIC Toggle public read access

Enable or disable unauthenticated read access to a database. When on, any client can read (but not write). Cannot be applied to DB0 (admin database).

Params db_number on|off
Toggle on/off, true/false, 1/0, yes/no
Auth server admin
DATABASE.PUBLIC 1 on

USER.CREATE Create user with Ed25519 pubkey

Register a user by Ed25519 public key. They authenticate via the CHALLENGE → TOKEN → AUTH signature-based flow.

Params pubkey 64 hex chars
Auth server admin
USER.CREATE a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90
USER.CREATESECRET Create user with username & secret

Create a user who authenticates via SAUTH <secret>. Username: 1-64 alphanumeric/underscore/hyphen. Secret: minimum 4 chars.

Params username secret
Auth server admin
USER.CREATESECRET alice mysecret123
USER.GRANT Grant database access to a user

Grant read, write, or admin permission on a specific database. Users identified by pubkey (64 hex) or username from USER.CREATESECRET.

Params db_number user read|write|admin
Auth server admin or db admin
USER.GRANT 1 alice write
USER.REVOKE Revoke database access from a user

Remove a user's access to a database. They will no longer be able to read or write.

Params db_number user
Auth server admin or db admin
USER.REVOKE 1 alice
USER.DELETE Delete a user and all access

Remove a user completely. Their access is revoked from all databases.

Params pubkey
Auth server admin
USER.DELETE a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90

ADMIN.ADD Add a server administrator

Add an Ed25519 public key as server administrator. Admins can create databases, manage users, and perform all operations.

Params pubkey 64 hex chars
Auth server admin
ADMIN.ADD a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90
ADMIN.REMOVE Remove a server administrator

Remove an admin pubkey. Cannot remove the last remaining admin.

Params pubkey
Auth server admin
ADMIN.REMOVE a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90
ADMIN.LIST List all server administrators

Returns all Ed25519 public keys registered as server administrators.

Params none
Returns Array of admin pubkeys
Auth server admin
ADMIN.LIST

COMPACT Compact the current database

Reclaim disk space by compacting the redb database file. Returns old size, new size, and bytes saved.

COMPACT
MEMORY Memory usage report

Returns server memory statistics. USAGE for total disk usage of database files. STATS for process memory (RSS, VSZ, open databases).

Params USAGE or STATS
MEMORY USAGE
MEMORY STATS
SHUTDOWN Gracefully shut down the server

Initiates graceful shutdown. All connections closed, data flushed to disk.

Auth server admin
SHUTDOWN

SAUTH Simple secret-based authentication

Authenticate using a secret created with USER.CREATESECRET or the --admin-secret startup flag. Simplest authentication method.

Params secret
Returns OK (sets session as authenticated)
SAUTH mysecret123
CHALLENGE / TOKEN / AUTH Ed25519 signature-based login

Three-step cryptographic authentication:
1. CHALLENGE <pubkey> — server returns random challenge
2. TOKEN <pubkey> <signed_challenge> — server returns session token
3. AUTH <token> — authenticate with session token

Step 1 CHALLENGE <pubkey> → challenge string
Step 2 TOKEN <pubkey> <signature> → session token
Step 3 AUTH <token> → OK
Machine-readable OpenRPC spec available at /api/openrpc

Load ontologies, explore concepts and relationships, and interact with the graph database. Select a default ontology or load custom JSON.

Load Default Ontology
Load Custom JSON
Active Ontology
No ontology loaded
Graph Stats
No data
Controls
Add Node
Add Edge
Query Graph
Log

    

Run performance benchmarks against a dedicated test database. A new database is auto-created for the test. Choose between Standard (individual commands) and Batched (MSET/MGET) mode to compare throughput.

No test database active. Click "Run Write Test" to create one.
Step 1: Write Benchmark
0%
Preparing...
Step 2: Read Benchmark
0%
Preparing...
Results Summary
Metric Value
Cleanup

Flush the test database and remove all test data.

Benchmark graph database operations: node creation, edge creation, neighbor lookups, and traversal performance. A test ontology is loaded automatically.

Benchmark Configuration
Initializing...
0%
Node Creation
Not started
Edge Creation
Not started
Neighbor Lookups
Not started
Graph Traversal
Not started
Benchmark Summary
Operation Count Total Time Ops/sec Avg Latency