# Set up the Redis object cache with ChatGPT dots

> Setting up a Redis object cache with ChatGPT dots means having OpenAI's always-on agent test and enable Redis on a WordPress site through xSpeed Hub, then keep testing it on a schedule and tell you when it stops answering.

Page: https://xspeedcache.com/agent/chatgpt-dots/object-cache/
Last updated: October 2026

Your dot enabled the Redis object cache on shop last week, after a passing test, and you asked it then to run test_object_cache every weekday morning and report only failures. This morning the report says the test failed. You reply in the conversation and ask it to find out why. It calls test_object_cache again for the current error, then get_object_cache_status, which reports whether the object-cache.php drop-in is still installed, which backend is configured and whether the connection is degraded.

What comes back is a cause and the limit of what the dot can do about it. Redis is up but rejects the password saved on the site, and the drop-in has fallen back to WordPress's own cache, so the site still works but each request can wait up to the one second connection timeout. A Redis password is a credential field: the Hub masks it on read and refuses to write it by default, so the fix is yours, in wp-config.php or the xSpeed panel. Once you have changed it, the dot runs the test again. If you would rather stop the slowdown first, it can call toggle_object_cache with enabled set to false, after asking, because the Hub tells the agent to briefly confirm intent for the object-cache toggles.

What differs with a dot is the schedule and the rules. It works between conversations on its own cloud computer, and you manage the recurring test from Recent activity in its profile or the Scheduled section in ChatGPT. The Hub has no scheduler for agent prompts, so the timer is the dot's. Custom rules decide what it may do alone: set a rule for xSpeed Hub changes to Ask before taking action, so a toggle or a flush waits for you while the two reads, the status and the test, run on their own.

## Set up ChatGPT dots once

### 1. Put your sites in xSpeed Hub

Sign in at app.xspeedcache.com with Google or email; the Hub is free and has no site cap. Then connect each WordPress site from its own dashboard: click Connect Hub in the xSpeed Cache top bar, then Connect via xSpeed Hub. Each site needs the free xSpeed Cache plugin.

### 2. Create the xspeedhub app in ChatGPT

In ChatGPT on the web, turn on Developer mode under Settings, Security and login. Open Plugins, select the plus button and create a developer-mode app named xspeedhub with this URL and OAuth. Click Scan Tools, approve access on the xSpeed Hub page that opens, then click Create. If ChatGPT already has the app, skip this step. On a Business workspace only an admin or owner can turn on developer mode and publish the app.

```
https://app.xspeedcache.com/xspeed/mcp
```

### 3. Check that your dot can see it

OpenAI says plugin permissions are shared across dots and ChatGPT. Open your dot's profile, then Customize and Plugins, and check that xspeedhub is there. That screen uses the shared ChatGPT settings, and OpenAI notes the apps available to a dot may differ, so confirm it before you hand over a task.

```
Dot profile  >  Customize  >  Plugins  >  xspeedhub
```

### 4. Add a custom rule for site changes

Under Customize, Custom rules, describe the action and pick a behavior: Take action without asking, Take action if pre-approved, Ask before taking action, or Hand off to you. Add a rule that covers purging a cache, changing settings or running a speed test through xSpeed Hub, and choose Ask before taking action.

```
Customize  >  Custom rules  >  xSpeed Hub changes: Ask before taking action
```

Full setup: https://xspeedcache.com/agent/chatgpt-dots/

### Before you send a prompt that changes something

Reads change nothing on your sites, though contact_support emails xSpeed support. Writes run once your connection allows them, so your client's approval prompt and a read-only connection (the token's Read-only everywhere switch, or a Viewer sign-in) are the gates that matter. In a ChatGPT chat, write actions from a developer-mode app need your confirmation by default, and ChatGPT treats a tool without a read-only annotation as a write. xSpeed Hub's tools carry no such annotation. A dot comes with OpenAI's defaults for which actions need approval, and Custom rules let you set, for an action you describe, Take action without asking, Take action if pre-approved, Ask before taking action or Hand off to you. xSpeed Hub has no confirmation step of its own, so a rule that lets your dot act without asking runs a purge or a settings change as soon as your connection allows writes. Keep xSpeed Hub changes on Ask before taking action. For read-only access, sign in as a Viewer member of the workspace; the connection token's Read-only everywhere switch does not apply, because the app signs in with OAuth.

## Prompts

- Use xSpeed Hub to test Redis on shop every weekday morning and tell me only when the test fails.
- With xSpeed Hub, check the object cache status on shop and test Redis, then ask me before you enable it.
- Your report says the Redis test failed on shop. Use xSpeed Hub to tell me why, without changing anything.

## Example session

```
You: Your morning report says the Redis test failed on shop. Use xSpeed Hub to find out why.
  → test_object_cache(site: shop) [read-only]: Failed. Redis refused the login: wrong password.
  → get_object_cache_status(site: shop) [read-only]: Drop-in installed. Backend: Redis, degraded.
Agent: Redis is up but rejects the password saved on shop, and the drop-in has fallen back to WordPress's own cache, so pages are slower but working. I cannot set the password through xSpeed Hub. Update it in wp-config.php or the xSpeed panel, then tell me.
You: Changed it in wp-config.php. Test again.
  → test_object_cache(site: shop) [read-only]: Connected. Probe value written and read back.
Agent: The test passes and Redis answers shop again. Tomorrow's check will show whether it stays that way.
```

## How it works

1. **Read the current state**: get_object_cache_status reports whether the object-cache.php drop-in is installed, which backend is configured, Redis or Memcached, and its stats. It does not prove the server answers, so a clean status is not a green light.
2. **Test the connection first**: test_object_cache opens a live connection to the configured server and does a read and write probe with the settings saved on the site. A failure comes back with the server's own reason, such as a wrong password, a refused connection or a permission error. The Hub tells the agent to run this before toggle_object_cache.
3. **Fix the connection if the test fails**: get_settings reads the object-cache module, with secrets masked. update_settings changes it, for example the host or port. On a managed host that defines these values in wp-config.php, the fields are read-only and a write that tries to change one is refused with the name of the constant. For a host that wants the constants pasted, get_object_cache_status with detail set to snippet returns the wp-config.php block.
4. **Turn it on**: toggle_object_cache with enabled true makes the site test the connection again, write the connection constants into wp-config.php and install the object-cache.php drop-in. If the test fails, it stops with "Could not enable" and writes nothing. If wp-config.php is not writable, the drop-in goes in and the reply tells you to add the snippet by hand. The Hub tells the agent to briefly confirm intent first.
5. **Check it took**: The drop-in loads on the next request, so the agent reads get_object_cache_status again after a page load and runs test_object_cache once more. The status also warns when the cache connects but refuses writes, so a connected cache that stores nothing does not pass as healthy.
6. **Flush when stale data survives**: flush_object_cache empties the persistent object cache. Use it when old options, transients or query results outlive a page cache purge. It does not touch the page cache; purge_cache does that.

## Reference

| | |
| --- | --- |
| Read tools | get_object_cache_status and test_object_cache, both work on a read-only connection |
| Write tools | toggle_object_cache (enabled true or false) and flush_object_cache |
| Backends | Redis or Memcached |
| Status detail | status (default) or snippet, the wp-config.php constants block |
| What status proves | Drop-in installed, backend configured, stats. Not that the server is reachable |
| What the test proves | A live connect and a read and write probe on the saved settings, with the server's own error on failure |
| Enable does | Tests the connection, writes connection constants to wp-config.php, installs the object-cache.php drop-in |
| Disable does | Removes xSpeed's drop-in and its wp-config.php block; a drop-in owned by another plugin is left alone |
| Connection timeout | 1 second by default, set in the object-cache module |
| Settings module | object-cache, for get_settings and update_settings |
| Every site at once | None of these tools accept site: "all"; one site per call |
| Confirmation | None on the Hub; your client's prompt is the gate |

## Rules

- Test before you toggle. The Hub tells the agent to run test_object_cache first, because a cache server that does not answer slows every request while the page cache still looks healthy.
- Keep the Redis password out of the chat. get_settings masks it, but the wp-config.php snippet is built from the saved settings and can include a saved password. Set secrets in wp-config.php or in the xSpeed panel.
- toggle_object_cache and flush_object_cache are write tools. The Hub tells the agent to briefly confirm intent for the object-cache toggles, but that is guidance, not a lock. Your client's approval prompt and a read-only grant are the gates that matter. A read-only grant means the connection token with Read-only everywhere on, or a Viewer member's sign-in; an OAuth sign-in gets the scopes the client asks for, which are read and write by default.
- If another plugin owns the object-cache.php drop-in, turn its object cache off in that plugin. xSpeed leaves a drop-in it did not install in place when you disable.
- A flush clears cached data, so the next requests rebuild it from the database and the site is briefly slower. Flush one site, then check it, before you repeat it.

## Good to know with ChatGPT dots

A scheduled run is unattended, so word it as report only and keep toggle_object_cache and flush_object_cache behind Ask before taking action. A dot signs in with OAuth through the shared ChatGPT app, so the connection token's Read-only everywhere switch does not apply, and a Viewer sign-in is the read-only route. Keep the wp-config.php snippet out of the conversation, because it can contain a saved Redis password, and OpenAI notes that disconnecting the app does not delete what the dot already learned.

## More prompts for this job

They work in any client connected to xSpeed Hub.

- Using xSpeed Hub, is a persistent object cache running on shop, and which backend does it use?
- Use xSpeed Hub to test whether Redis is reachable from shop. Do not change anything.
- Shop is slow in wp-admin. Use xSpeed Hub to check the object cache before anything else.
- With xSpeed Hub, test Redis on shop, and if it passes, turn the object cache on.
- Ask xSpeed Hub for the wp-config.php object cache snippet for docs.
- Use xSpeed Hub to flush the object cache on blog. Old options survive a page cache purge.
- With xSpeed Hub, turn the object cache off on shop and confirm the drop-in is gone.

## Frequently asked questions

### Can my dot watch Redis after it is enabled?

Yes. Ask it for a recurring test_object_cache run and it schedules it, and the runs post in the conversation. Keep the schedule report only, because nobody is there to approve a toggle, and a failed test usually needs a fix on the host side anyway.

### Can my dot change the Redis password for me?

No. A Redis password is a credential field, so the Hub masks it when the dot reads settings and refuses to write it by default. Set it in wp-config.php or in the xSpeed panel, then ask the dot to run the test again.

### Why test the connection before turning the object cache on?

Because a cache server that does not answer costs time on every request while the page cache still looks fine. The Hub tells the agent to run test_object_cache first, and the site also tests the connection when you enable and refuses to continue if it fails. The probe is still worth running on its own, since it returns the server's exact reason, such as a wrong password or a refused connection.

### What happens if Redis stops answering after I enabled it?

The site keeps working. The drop-in is built never to take the site down: it falls back to WordPress's own cache for the length of the request and marks itself as degraded. A request can still wait up to the connection timeout, which is 1 second by default, so the site gets slower. xSpeed reports that state as degraded, and test_object_cache names the fault.

### Can the agent install Redis for me?

No. These tools connect xSpeed to a Redis or Memcached server that already exists and switch the object cache on or off. Getting a server is a hosting task. xSpeed uses the phpredis extension when it is there and its own built-in client when it is not.

### What is the difference between flush_object_cache and purge_cache?

flush_object_cache empties the persistent object cache and nothing else. purge_cache with type object does the same job through the purge tool, and purge_cache with type all also clears the page cache and, when connected, the Cloudflare edge. Use the flush when stale options or transients survive a page cache purge.

### Is the wp-config.php snippet safe to share?

Treat it like a secret. The snippet is built from the settings saved on the site, so it can contain the Redis password if one is saved. Paste it into wp-config.php yourself and avoid sharing it in a chat or a ticket.

## Set up Redis object cache with other agents

[Claude Code](https://xspeedcache.com/agent/claude-code/object-cache/) · [Claude](https://xspeedcache.com/agent/claude/object-cache/) · [Claude Cowork](https://xspeedcache.com/agent/claude-cowork/object-cache/) · [ChatGPT](https://xspeedcache.com/agent/chatgpt/object-cache/) · [Codex](https://xspeedcache.com/agent/codex/object-cache/) · [Cursor](https://xspeedcache.com/agent/cursor/object-cache/) · [GitHub Copilot in VS Code](https://xspeedcache.com/agent/github-copilot/object-cache/) · [Windsurf](https://xspeedcache.com/agent/windsurf/object-cache/) · [Gemini CLI](https://xspeedcache.com/agent/gemini-cli/object-cache/) · [Antigravity](https://xspeedcache.com/agent/antigravity/object-cache/) · [Zed](https://xspeedcache.com/agent/zed/object-cache/) · [Kiro](https://xspeedcache.com/agent/kiro/object-cache/) · [OpenCode](https://xspeedcache.com/agent/opencode/object-cache/) · [OpenClaw](https://xspeedcache.com/agent/openclaw/object-cache/) · [Hermes Agent](https://xspeedcache.com/agent/hermes-agent/object-cache/) · [Grok Build](https://xspeedcache.com/agent/grok-build/object-cache/) · [Grok](https://xspeedcache.com/agent/grok/object-cache/) · [Grok Bot](https://xspeedcache.com/agent/grok-bot/object-cache/) · [Muse](https://xspeedcache.com/agent/muse/object-cache/) · [Manus](https://xspeedcache.com/agent/manus/object-cache/) · [Kimi Code](https://xspeedcache.com/agent/kimi/object-cache/) · [Paperclip](https://xspeedcache.com/agent/paperclip/object-cache/) · [NanoClaw](https://xspeedcache.com/agent/nanoclaw/object-cache/)

## More with ChatGPT dots

- [Purge the WordPress cache with ChatGPT dots](https://xspeedcache.com/agent/chatgpt-dots/purge-cache/)
- [Find out why WordPress pages are not cached with ChatGPT dots](https://xspeedcache.com/agent/chatgpt-dots/troubleshoot-cache/)
- [Scan a website for speed problems with ChatGPT dots](https://xspeedcache.com/agent/chatgpt-dots/speed-scan/)
- [Run and track PageSpeed tests with ChatGPT dots](https://xspeedcache.com/agent/chatgpt-dots/pagespeed-tests/)
- [Raise a WordPress site's PageSpeed score with ChatGPT dots](https://xspeedcache.com/agent/chatgpt-dots/optimize-site/)
- [Tune WordPress cache settings with ChatGPT dots](https://xspeedcache.com/agent/chatgpt-dots/cache-settings/)
- [Warm the WordPress cache with ChatGPT dots](https://xspeedcache.com/agent/chatgpt-dots/preload-cache/)
- [Manage Cloudflare caching with ChatGPT dots](https://xspeedcache.com/agent/chatgpt-dots/cloudflare/)
- [Manage every WordPress site at once with ChatGPT dots](https://xspeedcache.com/agent/chatgpt-dots/fleet/)

## Documentation

- How to enable Redis or Memcached: https://xspeedcache.com/docs/object-cache/
- How to enable Page Cache: https://xspeedcache.com/docs/page-cache/
- Common problems and troubleshooting: https://xspeedcache.com/docs/common-problems-and-troubleshooting/
