You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## 💸 TL;DR
<!-- What's the three sentence summary of purpose of the PR -->
Removed the explicit Redis 500 MB storage limit from the docs and
replaced it with softer guidance that the team will reach out if an app
hits storage limits.
Added/updated media upload guidance to say uploads have both:
20 MB max file size
30-second timeout
files around 10 MB+ may fail on slow networks
Also added a FAQ for the “why does 10 MB fail if docs say 20 MB?” case,
and made the Forms image notes more direct and consistent.
Copy file name to clipboardExpand all lines: docs/capabilities/server/redis.mdx
+3-4Lines changed: 3 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -64,7 +64,7 @@ For command-specific behavior and limits, see the [supported Redis commands](htt
64
64
65
65
## Storage values
66
66
67
-
Redis is best for small, frequently accessed app states. Each Redis installation has a 500 MB storage limit and a 5 MB request size limit.
67
+
Redis is best for small, frequently accessed app states. Each Redis installation has a 5 MB request size 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.
68
68
69
69
If your app stores large JSON objects, long text values, or historical records that still belong in Redis, use`redisCompressed`.
70
70
@@ -106,9 +106,9 @@ Transactions are limited to 30 concurrent transaction blocks per installation, a
106
106
107
107
For more details, see [Transactions](https://github.com/reddit/devvit-docs/blob/69f35f2254617e4a1347686235a560a78d94535b/versioned_docs/version-0.12/capabilities/server/redis.mdx#transactions).
108
108
109
-
## Quota failures
109
+
## Storage limit failures
110
110
111
-
When an installation reaches the Redis storage limit, write operations can fail. Treat Redis writes as operations that may need a user-facing fallback.
111
+
If an installation runs into storage limits, write operations can fail. Treat Redis writes as operations that may need a user-facing fallback.
112
112
113
113
A good failure path should:
114
114
@@ -168,7 +168,6 @@ Design around these limits early so your app stays responsive as more people use
168
168
| :---- | :---- | :---- |
169
169
| 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. |
170
170
| Pipelining | Not supported | Reduce round trips by grouping related fields under hashes or compact JSON values. |
171
-
| Storage | 500 MB per installation | Use `redisCompressed` for large values, expire temporary data, and cap unbounded histories. |
172
171
| Request size | 5 MB | Store large datasets as multiple records and process them in batches. |
173
172
| Transactions | 20 concurrent transaction blocks; 5-second execution timeout | Keep transaction logic small and release transactions with `exec`, `discard`, or `unwatch`. |
<summary>Why do image uploads over 10 MB fail if the limit is 20 MB?</summary>
300
+
301
+
Media uploads have both a 20 MB maximum upload size and a 30-second timeout. Files close to 10 MB or larger can still fail on slower networks if the upload does not finish before the timeout.
302
+
303
+
Try compressing the image, reducing dimensions, or retrying from a faster connection.
Copy file name to clipboardExpand all lines: versioned_docs/version-0.13/capabilities/server/redis.mdx
+3-4Lines changed: 3 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -64,7 +64,7 @@ For command-specific behavior and limits, see the [supported Redis commands](htt
64
64
65
65
## Storage values
66
66
67
-
Redis is best for small, frequently accessed app states. Each Redis installation has a 500 MB storage limit and a 5 MB request size limit.
67
+
Redis is best for small, frequently accessed app states. Each Redis installation has a 5 MB request size 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.
68
68
69
69
If your app stores large JSON objects, long text values, or historical records that still belong in Redis, use`redisCompressed`.
70
70
@@ -106,9 +106,9 @@ Transactions are limited to 30 concurrent transaction blocks per installation, a
106
106
107
107
For more details, see [Transactions](https://github.com/reddit/devvit-docs/blob/69f35f2254617e4a1347686235a560a78d94535b/versioned_docs/version-0.12/capabilities/server/redis.mdx#transactions).
108
108
109
-
## Quota failures
109
+
## Storage limit failures
110
110
111
-
When an installation reaches the Redis storage limit, write operations can fail. Treat Redis writes as operations that may need a user-facing fallback.
111
+
If an installation runs into storage limits, write operations can fail. Treat Redis writes as operations that may need a user-facing fallback.
112
112
113
113
A good failure path should:
114
114
@@ -168,7 +168,6 @@ Design around these limits early so your app stays responsive as more people use
168
168
| :---- | :---- | :---- |
169
169
| 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. |
170
170
| Pipelining | Not supported | Reduce round trips by grouping related fields under hashes or compact JSON values. |
171
-
| Storage | 500 MB per installation | Use `redisCompressed` for large values, expire temporary data, and cap unbounded histories. |
172
171
| Request size | 5 MB | Store large datasets as multiple records and process them in batches. |
173
172
| Transactions | 20 concurrent transaction blocks; 5-second execution timeout | Keep transaction logic small and release transactions with `exec`, `discard`, or `unwatch`. |
<summary>Why do image uploads over 10 MB fail if the limit is 20 MB?</summary>
300
+
301
+
Media uploads have both a 20 MB maximum upload size and a 30-second timeout. Files close to 10 MB or larger can still fail on slower networks if the upload does not finish before the timeout.
302
+
303
+
Try compressing the image, reducing dimensions, or retrying from a faster connection.
0 commit comments