Browse documentation

Native workspaces

Redis and Valkey

Redis and Valkey open in a key workspace. It scans the keyspace a page at a time, reads each value type in bounded pages, and stages every edit as the Redis command it will run.

Where to find it

ActionHow
Create a connectionNew connection, ⌘N (Ctrl+N), then Redis / Valkey
Open the workspaceConnect on a saved connection
Filter keysThe Redis key pattern box above the key list, then the arrow beside it
Create a keyThe plus button beside the key count, which opens Create Redis key
Review and commit editsStaged changes on the right
Run a commandCommand console below the value
Change safe modeThe safe mode menu in the status bar
Switch connection⌘⇧K (Ctrl+Shift+K)

The key list sits on the left, the selected value in the middle, staged commands on the right and the console along the bottom.

Connecting

Choose Redis / Valkey in New connection and fill in Host, Port, Logical database and an optional ACL username, or select Use connection URL, paste a redis:// or rediss:// URL into Connection URL and choose Fill fields. A rediss:// URL turns on TLS with certificate and hostname verification, which checks the certificate chain and host name against the operating system's trust roots.

The password is stored in the system keychain only when you check Save to system keychain. Valkey uses the same provider and the same workspace.

Browsing keys

The key list reads the keyspace with SCAN and never requests every key at once. Type a pattern such as book:* into Redis key pattern and select the arrow beside it, and the server filters the scan with MATCH.

While the cursor has more to read, Scan next cursor appears below the list and adds the next page, leaving out keys already shown. Keys and values that are not valid UTF-8 appear as base64, and such a key also carries a b64 marker.

Values

Select a key and the value panel reads it in bounded pages. Strings load with STRLEN and GETRANGE, hashes, sets and sorted sets with their cursor scans, lists with LRANGE windows, and streams with XRANGE windows.

When more remains, Load next page adds the next page. The header shows the key's type and its time to live, or No expiry.

Editing and expiry

Nothing is written until you commit: Stage adds a value or entry, Stage create a new key, Stage expiry the seconds in TTL seconds, and Persist the removal of an expiry. Each change appears in Staged changes as the exact command, such as HSET, or PEXPIRE with the time in milliseconds.

Commit runs the commands in the order shown. If one fails, the commands before it stay applied, it and the commands after it stay staged, and the panel reports how many changes were applied.

Console and safety

Command console runs one command at a time and shows each response as structured JSON. Input is limited to 16 KiB and 64 arguments, a response to 500 values and eight levels of nesting, and the console keeps the newest 100 entries.

A connection with Open in read-only mode refuses staged writes and every write or administrative command before it reaches the server.

Good to know

  • Connections reach one node directly. Redis Cluster redirects, Sentinel, Unix sockets, client certificates, SSH tunnels and unverified TLS are not supported.
  • Edits are last-write-wins. Another client can change or expire a key between the read and the commit, because Redis has no version token for every key type.
  • After a commit the workspace scans the keys again and rereads the open value.
  • There are no transactions, cancellation, schemas, diagrams, import, export or snapshots here, because those models do not apply to Redis keys.
  • SCAN returns keys in server order, so the list is not sorted.