Documentation Index
Fetch the complete documentation index at: https://docs.cloudthinker.io/llms.txt
Use this file to discover all available pages before exploring further.
Redis
Connect your Redis databases to enable Tony (Database Engineer) to inspect keyspace usage, analyze command patterns, and monitor database health.Supported Platforms
| Platform | Support |
|---|---|
| Self-hosted Redis | 6.x, 7.x (vanilla and Redis Stack) |
| Upstash Redis | All plan tiers |
| Redis Cloud | All plan tiers |
Setup
Select your Redis platform for specific connection instructions:- Self-hosted Redis
- Upstash Redis
- Redis Cloud
Two common deployment shapes are supported:
- Vanilla Redis — minimal image, no modules. Use this when you only need core Redis commands.
- Redis Stack — bundles RediSearch, RedisJSON, RedisTimeSeries, and Bloom. Use this when Tony needs
FT.*,JSON.*,TS.*, orBF.*commands. Vanilla soft-fails those.
Start Redis
Vanilla Redis (no modules):Verify the instance:
- The admin password is set via the
--requirepassserver flag (theREDIS_ARGSenv var only works on Redis Stack). --appendonly yesenables AOF for durability across restarts.
Create Read-Only ACL User
Create a dedicated user for CloudThinker. Redis ACL usernames allow
[A-Za-z0-9_-]; use cloudthinker-readonly (hyphen is the convention in Redis docs).on— enable the user.><readonly-password>— set the password (the>prefix is ACL syntax, your password follows).~*— match all keys. Narrow to~app:*for stricter scoping.+@read -@write -@dangerous -@admin— reads only; blocks writes,FLUSHALL/CONFIG/DEBUG/SHUTDOWN, and replication.- Optional stricter lockdown: append
-@slowto blockKEYS,SMEMBERS,HGETALLon huge collections.
Persist ACLs Across Restart
Mount a Start Redis with the file mounted:and add
users.acl file so ACLs survive container restarts:--aclfile /data/users.acl to the server command.Configure Network Access
Ensure CloudThinker can reach your database:
- Add CloudThinker IPs to your firewall or security group.
- Ensure Redis is bound to an accessible interface (avoid
bind 127.0.0.1only).
Get Connection String
Your connection string follows this format:Use
rediss:// (note the second s) if your deployment terminates TLS.Required Permissions
Recommended ACL categories for the CloudThinker user:| Category | Setting | Why |
|---|---|---|
+@read | Allow | Read keys, run INFO, CLIENT LIST, etc. |
-@write | Deny | Block SET, DEL, and other mutating commands. |
-@dangerous | Deny | Block FLUSHALL, CONFIG, DEBUG, SHUTDOWN, replication. |
-@admin | Deny | Block administrative commands. |
-@slow (optional) | Deny | Block KEYS, SMEMBERS, HGETALL on large collections. |
~* for all keys, or ~app:* for a prefix) should match your data model.
Agent Capabilities
Once connected, Tony can:| Capability | Description |
|---|---|
| Keyspace Analysis | Inspect key patterns, sizes, and TTL distributions |
| Command Stats | Review command latency and throughput via INFO commandstats |
| Performance Metrics | Monitor memory, connections, eviction, and replication lag |
| Module Insights | Inspect RediSearch indexes, RedisJSON documents, and TimeSeries (Redis Stack only) |
Example Prompts
Connection Options
| Option | Description | Default |
|---|---|---|
| TLS/SSL | Use rediss:// to require TLS | rediss:// for Upstash, optional elsewhere |
| Port | Redis port | 6379 (self-hosted, Upstash); 13xxx (Redis Cloud) |
| Database Index | Logical DB index | 0 |
Troubleshooting
Authentication failed (NOAUTH / WRONGPASS)
Authentication failed (NOAUTH / WRONGPASS)
- Verify the username and password in the connection URL.
- For self-hosted, confirm the user is enabled with
ACL WHOAMIandACL LIST. - For Upstash and Redis Cloud, make sure you copied the TCP/Redis CLI URL, not the REST or SDK URL.
NOPERM ... has no permissions to run the command
NOPERM ... has no permissions to run the command
- The read-only user is working as intended for write commands.
- If reads are also blocked, re-check the ACL rules —
+@readmust be granted.
Connection refused or timeout
Connection refused or timeout
- Verify host and port are reachable from CloudThinker.
- For self-hosted, ensure Redis is not bound only to
127.0.0.1. - Add CloudThinker IPs to your firewall or cloud provider allowlist.
Module commands fail (FT.*, JSON.*, TS.*, BF.*)
Module commands fail (FT.*, JSON.*, TS.*, BF.*)
- Vanilla Redis does not include modules. Run Redis Stack (
redis/redis-stack) or a managed equivalent.
Security Best Practices
- Strong passwords — Use complex, unique passwords for both the admin and CloudThinker user.
- TLS encryption — Use
rediss://whenever the deployment supports TLS. - Network restrictions — Restrict access to CloudThinker IPs via firewall rules or managed-service allowlists.
- Minimal permissions — Never grant
+@write,+@dangerous, or+@adminto the CloudThinker user. - Persist ACLs — Use
aclfilefor self-hosted deployments so the read-only user survives restarts.
Related
Tony Agent
Database-focused optimization agent
MongoDB Connection
Setup instructions for MongoDB databases