Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions docs/capabilities/server/redis.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ For command-specific behavior and limits, see the [supported Redis commands](#su

## Storage values

Redis is best for small, frequently accessed app states. Each Redis installation has a 5 MB request size limit and a 5 GB storage limit. On occasion, apps will run into storage limits. Our team will reach out to you if this occurs and work with you to optimize your app.
Redis is best for small, frequently accessed app states. Each Redis installation has a 5 MB request size limit. Installations of [published apps](../../guides/launch/launch-guide.md) have a 5 GB storage limit, and installations of unpublished apps have a 100 MB storage limit. On occasion, apps will run into storage limits. Our team will reach out to you if this occurs and work with you to optimize your app.

If your app stores large JSON objects, long text values, or historical records that still belong in Redis, use`redisCompressed`.

Expand Down Expand Up @@ -118,7 +118,7 @@ For more details, see [Transactions](#transactions).

## Storage limit failures

If an installation runs into storage limits, write operations can fail. Treat Redis writes as operations that may need a user-facing fallback.
If an installation runs into storage limits, write operations can fail. Unpublished apps have a lower storage limit than published apps, so you may hit it during development and playtesting. Treat Redis writes as operations that may need a user-facing fallback.

A good failure path should:

Expand Down Expand Up @@ -178,7 +178,8 @@ Design around these limits early so your app stays responsive as more people use
| :---- | :---- | :---- |
| Command throughput | 40,000 commands per second per installation | Avoid one Redis call per item in hot loops. Use batch commands such as `mGet`, `mSet`, and `hash` writes where they fit. |
| Pipelining | Not supported | Reduce round trips by grouping related fields under hashes or compact JSON values. |
| Storage usage | 5 GB per installation | Keep long-lived data compact, expire temporary keys, and archive large historical data outside Redis when needed. |
| Storage usage (published apps) | 5 GB per installation | Keep long-lived data compact, expire temporary keys, and archive large historical data outside Redis when needed. |
| Storage usage (unpublished apps) | 100 MB per installation | Keep development and playtest data small, clean up test keys, and publish your app before you need more storage. |
| Request size | 5 MB | Store large datasets as multiple records and process them in batches. |
| Transactions | 20 concurrent transaction blocks; 5-second execution timeout | Keep transaction logic small and release transactions with `exec`, `discard`, or `unwatch`. |

Expand Down
2 changes: 1 addition & 1 deletion docs/guides/faq.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -434,7 +434,7 @@ You can also edit the display name, about description, and mature flag (18+) fie

There's no single limits page today, but these are the most commonly referenced numbers in the docs:

- [Redis](../capabilities/server/redis.mdx): 5 GB max storage per installation, 5 MB max request size, and 40,000 max commands per second.
- [Redis](../capabilities/server/redis.mdx): 5 GB max storage per installation for published apps (100 MB for unpublished apps), 5 MB max request size, and 40,000 max commands per second.
- [Devvit Web](../capabilities/devvit-web/devvit_web_overview.mdx): 30 second max request time, 4 MB max payload size, and 10 MB max response size.
- [Post data](../capabilities/server/post-data.mdx): 2 KB per post.
- [Settings and secrets](../capabilities/server/settings-and-secrets.mdx): 2 KB per setting value.
Expand Down
Loading