diff --git a/common/account/add-payment-method.mdx b/common/account/add-payment-method.mdx new file mode 100755 index 000000000..62aec3679 --- /dev/null +++ b/common/account/add-payment-method.mdx @@ -0,0 +1,25 @@ +--- +title: Add a Payment Method +--- + +Upstash does not require a credit card for Free databases. For paid databases, you need to add at least one payment method. To add one: + +1. Sign in to the [Upstash Console](https://console.upstash.com). +2. Click your profile in the top right and select `Account` from the dropdown. +3. Open the `Billing` tab. +4. Click `Add Your Card`. +5. Enter your name and card information in the form that appears: + + + + + +You can save multiple cards and pick one as the default. Payments are charged from the default card. + + + + + +## Payment Security + +Upstash does not store credit card information on its servers. Payments are processed by [Stripe](https://stripe.com/docs/security/stripe). diff --git a/common/account/addapaymentmethod.mdx b/common/account/addapaymentmethod.mdx deleted file mode 100755 index fd6a6cd25..000000000 --- a/common/account/addapaymentmethod.mdx +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: Add a Payment Method ---- - -Upstash does not require a credit card for Free databases. However, for paid databases, you need to add at least one payment method. To add a payment method, follow these steps: - -1. Click on your profile at the top right. -2. Select  `Account` from the dropdown menu. -3. Navigate to the `Billing` tab. -4. On the screen, click the `Add Your Card` button. -5. Enter your name and credit card information in the following form: - - - - - -You can enter multiple credit cards and set one of them as the default one. The -payments will be charged from the default credit card. - - - - - -## Payment Security - -Upstash does not store users' credit card information in its servers. We use -Stripe Inc payment processing company to handle payments. You can read more -about payment security in Stripe -[here](https://stripe.com/docs/security/stripe). diff --git a/common/help/production-checklist.mdx b/common/help/production-checklist.mdx index f1c3668c1..f8ed0736d 100644 --- a/common/help/production-checklist.mdx +++ b/common/help/production-checklist.mdx @@ -136,7 +136,7 @@ Before going live, ensure you have: - [Prod Pack & Enterprise](/redis/overall/enterprise) - [Backup & Restore](/redis/features/backup) - [Global Database](/redis/features/globaldatabase) -- [Monitoring & Metrics](/redis/howto/metricsandcharts) +- [Monitoring & Metrics](/redis/howto/metrics-and-charts) - [Compliance Information](/common/help/compliance) - [Professional Support](/common/help/prosupport) diff --git a/docs.json b/docs.json index 61acbbaba..079d55283 100644 --- a/docs.json +++ b/docs.json @@ -46,7 +46,7 @@ "common/account/createaccount", "common/account/teams", "common/account/developerapi", - "common/account/addapaymentmethod", + "common/account/add-payment-method", "common/account/awsmarketplace", "common/account/costexplorer", "common/account/paymenthistory", @@ -828,10 +828,10 @@ { "group": "How To", "pages": [ - "redis/howto/connectclient", - "redis/howto/connectwithupstashredis", - "redis/howto/upgradedatabase", - "redis/howto/metricsandcharts", + "redis/howto/connect-client", + "redis/howto/connect-with-upstash-redis", + "redis/howto/upgrade-database", + "redis/howto/metrics-and-charts", "redis/howto/monitoryourusage", "redis/howto/importexport", "redis/howto/keyspacenotifications", @@ -1910,6 +1910,26 @@ "source": "/docs/redis", "destination": "/redis/overall/getstarted" }, + { + "source": "/redis/howto/connectclient", + "destination": "/redis/howto/connect-client" + }, + { + "source": "/redis/howto/connectwithupstashredis", + "destination": "/redis/howto/connect-with-upstash-redis" + }, + { + "source": "/redis/howto/upgradedatabase", + "destination": "/redis/howto/upgrade-database" + }, + { + "source": "/redis/howto/metricsandcharts", + "destination": "/redis/howto/metrics-and-charts" + }, + { + "source": "/common/account/addapaymentmethod", + "destination": "/common/account/add-payment-method" + }, { "source": "/qStash", "destination": "/qstash" diff --git a/img/addpaymentmethod/cardlist.png b/img/addpaymentmethod/cardlist.png index c5030f84c..bdde26924 100644 Binary files a/img/addpaymentmethod/cardlist.png and b/img/addpaymentmethod/cardlist.png differ diff --git a/img/addpaymentmethod/ccform.png b/img/addpaymentmethod/ccform.png index a5e4df48b..ca1102f7f 100644 Binary files a/img/addpaymentmethod/ccform.png and b/img/addpaymentmethod/ccform.png differ diff --git a/img/getting_started/charts.png b/img/getting_started/charts.png index 488222b59..a92d02d67 100644 Binary files a/img/getting_started/charts.png and b/img/getting_started/charts.png differ diff --git a/img/getting_started/database.png b/img/getting_started/database.png index 37af5a4a2..fe974df5d 100644 Binary files a/img/getting_started/database.png and b/img/getting_started/database.png differ diff --git a/img/metrics/connections.png b/img/metrics/connections.png index 8effe4389..dd6c52500 100644 Binary files a/img/metrics/connections.png and b/img/metrics/connections.png differ diff --git a/img/metrics/current-month.png b/img/metrics/current-month.png deleted file mode 100644 index e38d96284..000000000 Binary files a/img/metrics/current-month.png and /dev/null differ diff --git a/img/metrics/databaselist.png b/img/metrics/databaselist.png index d21aaaafa..abc5d61aa 100644 Binary files a/img/metrics/databaselist.png and b/img/metrics/databaselist.png differ diff --git a/img/metrics/datasize.png b/img/metrics/datasize.png index 41ce6ce4b..806ea2242 100644 Binary files a/img/metrics/datasize.png and b/img/metrics/datasize.png differ diff --git a/img/metrics/hitsmisses.png b/img/metrics/hitsmisses.png index 53b1f7d79..0dff7ff1f 100644 Binary files a/img/metrics/hitsmisses.png and b/img/metrics/hitsmisses.png differ diff --git a/img/metrics/keyspace.png b/img/metrics/keyspace.png index 8a76bf07d..871c7f8fd 100644 Binary files a/img/metrics/keyspace.png and b/img/metrics/keyspace.png differ diff --git a/img/metrics/latency.png b/img/metrics/latency.png index aa4a98bdd..dd100dccd 100644 Binary files a/img/metrics/latency.png and b/img/metrics/latency.png differ diff --git a/img/metrics/requests5days.png b/img/metrics/requests5days.png index a929f982a..58f6f8049 100644 Binary files a/img/metrics/requests5days.png and b/img/metrics/requests5days.png differ diff --git a/img/metrics/throughput.png b/img/metrics/throughput.png index b1b251701..778ac74b6 100644 Binary files a/img/metrics/throughput.png and b/img/metrics/throughput.png differ diff --git a/llms-full.txt b/llms-full.txt index b9d2aa795..ab1077774 100644 --- a/llms-full.txt +++ b/llms-full.txt @@ -4073,29 +4073,25 @@ const bestModel = evaluation.sort((a, b) => a.hallucinationPct - b.hallucination Each box is fully isolated, so one model's behavior never leaks into another's results. # Add a Payment Method -Source: https://upstash.com/docs/common/account/addapaymentmethod +Source: https://upstash.com/docs/common/account/add-payment-method -Upstash does not require a credit card for Free databases. However, for paid databases, you need to add at least one payment method. To add a payment method, follow these steps: +Upstash does not require a credit card for Free databases. For paid databases, you need to add at least one payment method. To add one: -1. Click on your profile at the top right. -2. Select  `Account` from the dropdown menu. -3. Navigate to the `Billing` tab. -4. On the screen, click the `Add Your Card` button. -5. Enter your name and credit card information in the following form: +1. Sign in to the [Upstash Console](https://console.upstash.com). +2. Click your profile in the top right and select `Account` from the dropdown. +3. Open the `Billing` tab. +4. Click `Add Your Card`. +5. Enter your name and card information in the form that appears: -You can enter multiple credit cards and set one of them as the default one. The -payments will be charged from the default credit card. +You can save multiple cards and pick one as the default. Payments are charged from the default card. ## Payment Security -Upstash does not store users' credit card information in its servers. We use -Stripe Inc payment processing company to handle payments. You can read more -about payment security in Stripe -[here](https://stripe.com/docs/security/stripe). +Upstash does not store credit card information on its servers. Payments are processed by [Stripe](https://stripe.com/docs/security/stripe). # Audit Logs Source: https://upstash.com/docs/common/account/auditlogs @@ -4840,7 +4836,7 @@ Before going live, ensure you have: * [Prod Pack & Enterprise](/docs/redis/overall/enterprise) * [Backup & Restore](/docs/redis/features/backup) * [Global Database](/docs/redis/features/globaldatabase) -* [Monitoring & Metrics](/docs/redis/howto/metricsandcharts) +* [Monitoring & Metrics](/docs/redis/howto/metrics-and-charts) * [Compliance Information](/docs/common/help/compliance) * [Professional Support](/docs/common/help/prosupport) @@ -15565,7 +15561,7 @@ Before going live, ensure you have: * [Prod Pack & Enterprise](/docs/redis/overall/enterprise) * [Backup & Restore](/docs/redis/features/backup) * [Global Database](/docs/redis/features/globaldatabase) -* [Monitoring & Metrics](/docs/redis/howto/metricsandcharts) +* [Monitoring & Metrics](/docs/redis/howto/metrics-and-charts) * [Compliance Information](/docs/common/help/compliance) * [Professional Support](/docs/common/help/prosupport) @@ -15669,13 +15665,13 @@ You can see the average latencies for different regions in [Upstash Latency Monitoring](https://latency.upstash.com) page # Connect Your Client -Source: https://upstash.com/docs/redis/howto/connectclient +Source: https://upstash.com/docs/redis/howto/connect-client Upstash works with Redis® API, that means you can use any Redis client with Upstash. At the [Redis Clients](https://redis.io/clients) page you can find the list of Redis clients in different languages. -Probably, the easiest way to connect to your database is to use `redis-cli`. +Simplest way to connect to your database is to use `redis-cli`. Because it is already covered in [Getting Started](../overall/getstarted), we will skip it here. @@ -15686,9 +15682,10 @@ see the database page as below: -The information required for Redis clients is displayed here as **Endpoint**, -**Port** and **Password**. Also when you click on `Clipboard` button on **Connect to your database** section, you can copy -the code that is required for your client. +The connection details required for Redis clients are displayed here: **Endpoint**, +**Port**, and **Token** (which is also the password of the database). You can also +find the environment variables `UPSTASH_REDIS_REST_URL` and`UPSTASH_REDIS_REST_TOKEN` +on this page. Below, we will provide examples from popular Redis clients, but the information above should help you configure all Redis clients similarly. @@ -15697,17 +15694,12 @@ Below, we will provide examples from popular Redis clients, but the information to disable it. -## upstash-redis +## @upstash/redis - - Because upstash-redis is HTTP based, we recommend it for Serverless functions. - Other TCP based clients can cause connection problems in highly concurrent use - cases. - - -**Library**: [upstash-redis](https://github.com/upstash/upstash-redis) - -**Example**: +[@upstash/redis](https://github.com/upstash/redis-js) is the official SDK developed +and maintained by Upstash. It is HTTP-based, which makes it ideal for serverless +environments like Vercel and Cloudflare Workers. In highly concurrent serverless +workloads, TCP-based clients can run into connection issues. ```typescript import { Redis } from "@upstash/redis"; @@ -15727,12 +15719,12 @@ const redis = new Redis({ })(); ``` +See the [Connect with @upstash/redis page](/docs/redis/howto/connect-with-upstash-redis) for more information. + ## Node.js **Library**: [ioredis](https://github.com/luin/ioredis) -**Example**: - ```javascript const Redis = require("ioredis"); @@ -15746,8 +15738,6 @@ console.log(x); **Library**: [redis-py](https://github.com/andymccurdy/redis-py) -**Example**: - ```python import redis r = redis.Redis( @@ -15763,8 +15753,6 @@ print(r.get('foo')) **Library**: [jedis](https://github.com/xetorthio/jedis) -**Example**: - ```java Jedis jedis = new Jedis("YOUR_ENDPOINT", "YOUR_PORT", true); jedis.auth("YOUR_PASSWORD"); @@ -15783,8 +15771,6 @@ System.out.println(value); **Library**: [phpredis](https://github.com/phpredis/phpredis) -**Example**: - ```php get("foo")); **Library**: [redigo](https://github.com/gomodule/redigo) -**Example**: - ```go func main() { c, err := redis.Dial("tcp", "YOUR_ENDPOINT:YOUR_PORT", redis.DialUseTLS(true)) @@ -15836,21 +15820,22 @@ func main() { } ``` -# Connect with upstash-redis -Source: https://upstash.com/docs/redis/howto/connectwithupstashredis +# Connect with @upstash/redis +Source: https://upstash.com/docs/redis/howto/connect-with-upstash-redis -[upstash-redis](https://github.com/upstash/redis-js) +[@upstash/redis](https://github.com/upstash/redis-js) is an HTTP/REST based Redis client built on top of [Upstash REST API](/docs/redis/features/restapi). For more information, refer to the documentation of Upstash redis client ([TypeScript](/docs/redis/sdks/ts/overview) & [Python](/docs/redis/sdks/py/overview)). It is the only connectionless (HTTP based) Redis client and designed for: -* Serverless functions (AWS Lambda ...) +* Serverless functions (AWS Lambda) * Cloudflare Workers (see [the example](https://github.com/upstash/redis-js/tree/main/examples/cloudflare-workers-with-typescript)) -* Fastly Compute@Edge -* Next.js, Jamstack ... +* Fastly Compute@Edge (see + [the example](https://github.com/upstash/upstash-redis/tree/master/examples/fastly)) +* Next.js (see [the quickstart](/docs/redis/quickstarts/nextjs-app-router)), Jamstack * Client side web/mobile applications * WebAssembly * and other environments where HTTP is preferred over TCP. @@ -15877,30 +15862,26 @@ const redis = new Redis({ token: "UPSTASH_REDIS_REST_TOKEN", }); -(async () => { - try { - const data = await redis.get("key"); - console.log(data); - } catch (error) { - console.error(error); - } -})(); +const data = await redis.get("key"); +console.log(data); ``` + + You can find values to set as `UPSTASH_REDIS_REST_URL` and`UPSTASH_REDIS_REST_TOKEN` + on the details tab of your database on [Upstash Console](https://console.upstash.com/redis). + See [Connect Client page](/docs/redis/howto/connect-client#database) for more information. + + If you define `UPSTASH_REDIS_REST_URL` and`UPSTASH_REDIS_REST_TOKEN` environment variables, you can load them automatically. ```typescript import { Redis } from "@upstash/redis"; -const redis = Redis.fromEnv()(async () => { - try { - const data = await redis.get("key"); - console.log(data); - } catch (error) { - console.error(error); - } -})(); +const redis = Redis.fromEnv(); + +const data = await redis.get("key"); +console.log(data); ``` # Datadog - Upstash Redis Integration @@ -16104,7 +16085,7 @@ similar in other languages. This example uses Redis clients. If you expect many concurrent AWS Lambda invocation then we recommend using - **[upstash-redis](/docs/redis/howto/connectwithupstashredis)** which is HTTP/REST + **[upstash-redis](/docs/redis/howto/connect-with-upstash-redis)** which is HTTP/REST based. @@ -16665,29 +16646,24 @@ redis-cli --tls -u $UPSTASH_REDIS_CLI_URL config get notify-keyspace-events # Metrics and Charts -Source: https://upstash.com/docs/redis/howto/metricsandcharts +Source: https://upstash.com/docs/redis/howto/metrics-and-charts -There are many metrics and charts in Upstash console. In this document, we will -explain what each of these charts refers to. There are two pages where you can -see charts and metrics: +The Upstash Console exposes metrics in two places: the database list, and the detail page of a single database. This page explains what each chart shows. ## Database List -The charts on this page give aggregated and total information about the database -and your usage. +The list view aggregates summary information across all of your databases. -In this chart, all your databases are listed. You can click on the name of the -database that you want to see detailed information. Also, the following -information is listed for each database: +Click a database name to open its detail page. For each row the list shows: * The region of the database -* The current size of the data -* The current count of active connections: Not that if your connections are - short-lived then you may see 0 here most of the time. +* The plan of the database (free, pay-as-you-go, fixed, or enterprise) -## Database Detail +## Database Details + +By clicking on a database on the list page, you can navigate to its detail page. The charts on this page show metrics that are specific to the selected database. @@ -16695,15 +16671,17 @@ The charts on this page show metrics that are specific to the selected database. -* This chart shows the daily cost of the database. The chart covers the last 5 - days. +Daily cost of the database for the current billing month. ### Daily Request -This chart shows the daily total number of requests to the database. The chart -covers the last 5 days. +Total number of requests per day, over the last 5 days. + +## Database Usage + +If you click on the "Usage" tab, you can see more detailed charts about the usage of your database. ### Throughput @@ -16995,29 +16973,15 @@ See our for details and examples about Upstash Terraform Provider. # Upgrade Your Database -Source: https://upstash.com/docs/redis/howto/upgradedatabase - -Free tier has followings restrictions: - -* Max 500K commands per month -* Max 256MB data size -* One free database per account +Source: https://upstash.com/docs/redis/howto/upgrade-database -If you think your database is close to reaching any of these limits, we -recommend you to upgrade to pay-as-you-go plan which includes: +The free tier has limits on monthly commands, data size, and the number of databases per account. See the [pricing page](https://upstash.com/pricing/redis) for the current values. -* No limit on requests per day -* Data size up to 100 GB +If your database is close to any of these limits, upgrade to the pay-as-you-go plan, which removes the daily request cap and raises the data size ceiling. -To upgrade your database, you need to have a payment method. You can add a -payment method as described [here](/docs/common/account/addapaymentmethod). After you add -a payment method, Upstash restarts your database and your new database starts -with the pay-as-you-go plan. +To upgrade, you need a payment method. Follow the steps in [Add a Payment Method](/docs/common/account/add-payment-method). Once a payment method is added, your database switches automatically to the pay-as-you-go plan. -See the [Pricing & Limits](../overall/pricing) for limits of the -pay-as-you-go and fixed plans. If you think, your use case will exceed those quotas, -contact us (support@upstash.com) for our [Enterprise Plan](../overall/enterprise) -where you can customize the limits. +See [Pricing & Limits](../overall/pricing) for the full breakdown of the pay-as-you-go and Fixed plans. If your workload will exceed those quotas, reach out at support@upstash.com about our [Enterprise Plan](../overall/enterprise) where the limits are configurable. During the upgrade process, you will not lose any data but your database will @@ -18722,7 +18686,7 @@ Upstash Redis is a **highly available, infinitely scalable** Redis-compatible da ## 1. Create an Upstash Redis Database -Once you're logged in, create a database by clicking `+ Create Database` in the upper right corner. A dialog opens up: +Log in to the [Upstash Console](https://console.upstash.com) (or [sign up](https://console.upstash.com) for a free account). From the **Redis** tab, click `+ Create Database` in the upper right corner. A dialog opens up: @@ -18738,7 +18702,11 @@ Once you click `Next` and select a plan, your database is running and ready to c ## 2. Connect to Your Database -You can connect to Upstash Redis with any Redis client. For simplicity, we'll use `redis-cli`. See the [Connect Your Client](../howto/connectclient) section for connecting via our TypeScript or Python SDKs and other clients. +You can connect to Upstash Redis with any Redis client. For simplicity, we'll use `redis-cli`. See the [Connect Your Client](../howto/connect-client) section for connecting via our TypeScript or Python SDKs and other clients. + + + You can copy the `redis-cli` command to connect to your database from the **Details** tab of your database in the Upstash Console. + The Redis CLI is included in the official Redis distribution. If you don't have Redis installed, you can get it [here](https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/). @@ -18764,14 +18732,14 @@ As you run commands, you'll see updates to your database metrics in (almost) rea Congratulations! You have created an ultra-fast Upstash Redis database! 🎉 -**New: Manage Upstash Redis From Cursor (optional)** +**New: Manage Upstash Redis with your agent** -Manage Upstash Redis databases from Cursor and other AI tools by using our [MCP server](/docs/redis/integrations/mcp). +Manage Upstash Redis databases from Claude and other AI tools by using our [MCP server](/docs/agent-resources/mcp). ## Next steps -* [Connect your client](../howto/connectclient): TypeScript, Python, Go, Java, and other Redis clients. +* [Connect your client](../howto/connect-client): TypeScript, Python, Go, Java, and other Redis clients. * [Use cases](/docs/redis/overall/usecases): caching, rate limiting, queues, pub/sub, AI workloads, and more. * [Upstash Redis Search](/docs/redis/search/introduction): full-text search built into Upstash Redis. * [REST API](/docs/redis/features/restapi): connect from edge and serverless runtimes where TCP is restricted. @@ -18873,7 +18841,7 @@ We believe that Upstash is the best storage for your Lambda Functions because: - [AWS Lambda](https://upstash.com/docs/redis/quickstarts/aws-lambda.md) - [Azure Functions](https://upstash.com/docs/redis/quickstarts/azure-functions.md) -- [ Cloudflare Workers](https://upstash.com/docs/redis/quickstarts/cloudflareworkers.md) +- [Cloudflare Workers](https://upstash.com/docs/redis/quickstarts/cloudflareworkers.md) - [Deno Deploy](https://upstash.com/docs/redis/quickstarts/deno-deploy.md) - [DigitalOcean](https://upstash.com/docs/redis/quickstarts/digitalocean.md) - [Django](https://upstash.com/docs/redis/quickstarts/django.md) @@ -21666,23 +21634,22 @@ console.log(data) # Overview Source: https://upstash.com/docs/redis/sdks/ts/overview -`@upstash/redis` is an HTTP/REST based Redis client for TypeScript, built on top -of [Upstash REST API](https://docs.upstash.com/features/restapi). +[@upstash/redis](https://github.com/upstash/redis-js) +is an HTTP/REST based Redis client built on top of +[Upstash REST API](/docs/redis/features/restapi). -[![Tests]()](https://github.com/upstash/upstash-redis/actions/workflows/tests.yaml) +[![Tests]()](https://github.com/upstash/redis-js/actions/workflows/tests.yaml) ![npm (scoped)]() ![npm bundle size]() -You can find the Github Repository [here](https://github.com/upstash/upstash-redis). - It is the only connectionless (HTTP based) Redis client and designed for: -* Serverless functions (AWS Lambda ...) +* Serverless functions (AWS Lambda) * Cloudflare Workers (see - [the example](https://github.com/upstash/upstash-redis/tree/master/examples/cloudflare-workers)) + [the example](https://github.com/upstash/redis-js/tree/main/examples/cloudflare-workers)) * Fastly Compute@Edge (see - [the example](https://github.com/upstash/upstash-redis/tree/master/examples/fastly)) -* Next.js, Jamstack ... + [the example](https://github.com/upstash/redis-js/tree/main/examples/fastly)) +* Next.js (see [the quickstart](/docs/redis/quickstarts/nextjs-app-router)), Jamstack * Client side web/mobile applications * WebAssembly * and other environments where HTTP is preferred over TCP. @@ -28029,7 +27996,7 @@ You can upgrade your database to a paid plan, such as pay-as-you-go or a fixed p by entering a payment method. When you entered your credit card, your database will be upgraded automatically. -See [here](../howto/upgradedatabase) for more information. +See [here](../howto/upgrade-database) for more information. # ERR max key size exceeded Source: https://upstash.com/docs/redis/troubleshooting/max_key_size_exceeded @@ -28137,7 +28104,7 @@ You can upgrade your database to a paid plan, such as pay-as-you-go or a fixed p by entering a payment method. When you entered your credit card, your database will be upgraded automatically. -See [here](../howto/upgradedatabase) for more information. +See [here](../howto/upgrade-database) for more information. # NOAUTH Authentication Required Source: https://upstash.com/docs/redis/troubleshooting/no_auth diff --git a/llms.txt b/llms.txt index 6ed798a2a..8d415089f 100644 --- a/llms.txt +++ b/llms.txt @@ -53,7 +53,7 @@ - [Shell](https://upstash.com/docs/box/overall/shell.md) - [Snapshots](https://upstash.com/docs/box/overall/snapshots.md) - [Use Cases](https://upstash.com/docs/box/overall/use-cases.md) -- [Add a Payment Method](https://upstash.com/docs/common/account/addapaymentmethod.md) +- [Add a Payment Method](https://upstash.com/docs/common/account/add-payment-method.md) - [Audit Logs](https://upstash.com/docs/common/account/auditlogs.md) - [AWS Marketplace](https://upstash.com/docs/common/account/awsmarketplace.md) - [Cost Explorer](https://upstash.com/docs/common/account/costexplorer.md) @@ -277,8 +277,8 @@ - [Shared Responsibility Model](https://upstash.com/docs/redis/help/shared-responsibility-model.md) - [Support & Contact Us](https://upstash.com/docs/redis/help/support.md) - [Uptime Monitor](https://upstash.com/docs/redis/help/uptime.md) -- [Connect Your Client](https://upstash.com/docs/redis/howto/connectclient.md) -- [Connect with upstash-redis](https://upstash.com/docs/redis/howto/connectwithupstashredis.md) +- [Connect Your Client](https://upstash.com/docs/redis/howto/connect-client.md) +- [Connect with @upstash/redis](https://upstash.com/docs/redis/howto/connect-with-upstash-redis.md) - [Datadog - Upstash Redis Integration](https://upstash.com/docs/redis/howto/datadog.md) - [EMQX - Upstash Redis Integration](https://upstash.com/docs/redis/howto/emqxintegration.md) - [Get Started with AWS Lambda](https://upstash.com/docs/redis/howto/getstartedawslambda.md) @@ -288,12 +288,12 @@ - [ioredis note](https://upstash.com/docs/redis/howto/ioredisnote.md) - [Use IP Allowlist](https://upstash.com/docs/redis/howto/ipallowlist.md) - [Listen Keyspace Notifications](https://upstash.com/docs/redis/howto/keyspacenotifications.md) -- [Metrics and Charts](https://upstash.com/docs/redis/howto/metricsandcharts.md) +- [Metrics and Charts](https://upstash.com/docs/redis/howto/metrics-and-charts.md) - [Migrate Regional to Global Database](https://upstash.com/docs/redis/howto/migratefromregionaltoglobal.md) - [Monitor your usage](https://upstash.com/docs/redis/howto/monitoryourusage.md) - [Read Your Writes](https://upstash.com/docs/redis/howto/readyourwrites.md) - [Terraform Provider](https://upstash.com/docs/redis/howto/terraformprovider.md) -- [Upgrade Your Database](https://upstash.com/docs/redis/howto/upgradedatabase.md) +- [Upgrade Your Database](https://upstash.com/docs/redis/howto/upgrade-database.md) - [Vercel - Upstash Redis Integration](https://upstash.com/docs/redis/howto/vercelintegration.md) - [BullMQ with Upstash Redis](https://upstash.com/docs/redis/integrations/bullmq.md) - [Celery with Upstash Redis](https://upstash.com/docs/redis/integrations/celery.md) @@ -319,7 +319,7 @@ - [Use Cases](https://upstash.com/docs/redis/overall/usecases.md) - [AWS Lambda](https://upstash.com/docs/redis/quickstarts/aws-lambda.md) - [Azure Functions](https://upstash.com/docs/redis/quickstarts/azure-functions.md) -- [ Cloudflare Workers](https://upstash.com/docs/redis/quickstarts/cloudflareworkers.md) +- [Cloudflare Workers](https://upstash.com/docs/redis/quickstarts/cloudflareworkers.md) - [Deno Deploy](https://upstash.com/docs/redis/quickstarts/deno-deploy.md) - [DigitalOcean](https://upstash.com/docs/redis/quickstarts/digitalocean.md) - [Django](https://upstash.com/docs/redis/quickstarts/django.md) diff --git a/redis/help/production-checklist.mdx b/redis/help/production-checklist.mdx index b962211b1..a9c1ec321 100644 --- a/redis/help/production-checklist.mdx +++ b/redis/help/production-checklist.mdx @@ -137,7 +137,7 @@ Before going live, ensure you have: - [Prod Pack & Enterprise](/redis/overall/enterprise) - [Backup & Restore](/redis/features/backup) - [Global Database](/redis/features/globaldatabase) -- [Monitoring & Metrics](/redis/howto/metricsandcharts) +- [Monitoring & Metrics](/redis/howto/metrics-and-charts) - [Compliance Information](/common/help/compliance) - [Professional Support](/common/help/prosupport) diff --git a/redis/howto/connectclient.mdx b/redis/howto/connect-client.mdx similarity index 80% rename from redis/howto/connectclient.mdx rename to redis/howto/connect-client.mdx index 0b28f6b1a..c1524b2af 100755 --- a/redis/howto/connectclient.mdx +++ b/redis/howto/connect-client.mdx @@ -6,7 +6,7 @@ Upstash works with Redis® API, that means you can use any Redis client with Upstash. At the [Redis Clients](https://redis.io/clients) page you can find the list of Redis clients in different languages. -Probably, the easiest way to connect to your database is to use `redis-cli`. +Simplest way to connect to your database is to use `redis-cli`. Because it is already covered in [Getting Started](../overall/getstarted), we will skip it here. @@ -19,9 +19,10 @@ see the database page as below: -The information required for Redis clients is displayed here as **Endpoint**, -**Port** and **Password**. Also when you click on `Clipboard` button on **Connect to your database** section, you can copy -the code that is required for your client. +The connection details required for Redis clients are displayed here: **Endpoint**, +**Port**, and **Token** (which is also the password of the database). You can also +find the environment variables `UPSTASH_REDIS_REST_URL` and`UPSTASH_REDIS_REST_TOKEN` +on this page. Below, we will provide examples from popular Redis clients, but the information above should help you configure all Redis clients similarly. @@ -30,17 +31,12 @@ Below, we will provide examples from popular Redis clients, but the information to disable it. -## upstash-redis +## @upstash/redis - - Because upstash-redis is HTTP based, we recommend it for Serverless functions. - Other TCP based clients can cause connection problems in highly concurrent use - cases. - - -**Library**: [upstash-redis](https://github.com/upstash/upstash-redis) - -**Example**: +[@upstash/redis](https://github.com/upstash/redis-js) is the official SDK developed +and maintained by Upstash. It is HTTP-based, which makes it ideal for serverless +environments like Vercel and Cloudflare Workers. In highly concurrent serverless +workloads, TCP-based clients can run into connection issues. ```typescript import { Redis } from "@upstash/redis"; @@ -60,12 +56,12 @@ const redis = new Redis({ })(); ``` +See the [Connect with @upstash/redis page](/redis/howto/connect-with-upstash-redis) for more information. + ## Node.js **Library**: [ioredis](https://github.com/luin/ioredis) -**Example**: - ```javascript const Redis = require("ioredis"); @@ -79,8 +75,6 @@ console.log(x); **Library**: [redis-py](https://github.com/andymccurdy/redis-py) -**Example**: - ```python import redis r = redis.Redis( @@ -96,8 +90,6 @@ print(r.get('foo')) **Library**: [jedis](https://github.com/xetorthio/jedis) -**Example**: - ```java Jedis jedis = new Jedis("YOUR_ENDPOINT", "YOUR_PORT", true); jedis.auth("YOUR_PASSWORD"); @@ -116,8 +108,6 @@ System.out.println(value); **Library**: [phpredis](https://github.com/phpredis/phpredis) -**Example**: - ```php get("foo")); **Library**: [redigo](https://github.com/gomodule/redigo) -**Example**: - ```go func main() { c, err := redis.Dial("tcp", "YOUR_ENDPOINT:YOUR_PORT", redis.DialUseTLS(true)) diff --git a/redis/howto/connectwithupstashredis.mdx b/redis/howto/connect-with-upstash-redis.mdx similarity index 59% rename from redis/howto/connectwithupstashredis.mdx rename to redis/howto/connect-with-upstash-redis.mdx index d7d751551..221eac263 100755 --- a/redis/howto/connectwithupstashredis.mdx +++ b/redis/howto/connect-with-upstash-redis.mdx @@ -1,19 +1,20 @@ --- -title: Connect with upstash-redis +title: Connect with @upstash/redis --- -[upstash-redis](https://github.com/upstash/redis-js) +[@upstash/redis](https://github.com/upstash/redis-js) is an HTTP/REST based Redis client built on top of [Upstash REST API](/redis/features/restapi). For more information, refer to the documentation of Upstash redis client ([TypeScript](/redis/sdks/ts/overview) & [Python](/redis/sdks/py/overview)). It is the only connectionless (HTTP based) Redis client and designed for: -- Serverless functions (AWS Lambda ...) +- Serverless functions (AWS Lambda) - Cloudflare Workers (see [the example](https://github.com/upstash/redis-js/tree/main/examples/cloudflare-workers-with-typescript)) -- Fastly Compute@Edge -- Next.js, Jamstack ... +- Fastly Compute@Edge (see + [the example](https://github.com/upstash/upstash-redis/tree/master/examples/fastly)) +- Next.js (see [the quickstart](/redis/quickstarts/nextjs-app-router)), Jamstack - Client side web/mobile applications - WebAssembly - and other environments where HTTP is preferred over TCP. @@ -40,28 +41,24 @@ const redis = new Redis({ token: "UPSTASH_REDIS_REST_TOKEN", }); -(async () => { - try { - const data = await redis.get("key"); - console.log(data); - } catch (error) { - console.error(error); - } -})(); +const data = await redis.get("key"); +console.log(data); ``` + + You can find values to set as `UPSTASH_REDIS_REST_URL` and`UPSTASH_REDIS_REST_TOKEN` + on the details tab of your database on [Upstash Console](https://console.upstash.com/redis). + See [Connect Client page](/redis/howto/connect-client#database) for more information. + + If you define `UPSTASH_REDIS_REST_URL` and`UPSTASH_REDIS_REST_TOKEN` environment variables, you can load them automatically. ```typescript import { Redis } from "@upstash/redis"; -const redis = Redis.fromEnv()(async () => { - try { - const data = await redis.get("key"); - console.log(data); - } catch (error) { - console.error(error); - } -})(); +const redis = Redis.fromEnv(); + +const data = await redis.get("key"); +console.log(data); ``` diff --git a/redis/howto/getstartedawslambda.mdx b/redis/howto/getstartedawslambda.mdx index fc4c6ee75..031f8c766 100755 --- a/redis/howto/getstartedawslambda.mdx +++ b/redis/howto/getstartedawslambda.mdx @@ -17,7 +17,7 @@ similar in other languages. This example uses Redis clients. If you expect many concurrent AWS Lambda invocation then we recommend using - **[upstash-redis](/redis/howto/connectwithupstashredis)** which is HTTP/REST + **[upstash-redis](/redis/howto/connect-with-upstash-redis)** which is HTTP/REST based. diff --git a/redis/howto/metricsandcharts.mdx b/redis/howto/metrics-and-charts.mdx similarity index 69% rename from redis/howto/metricsandcharts.mdx rename to redis/howto/metrics-and-charts.mdx index f479b8d32..edbc8c9d0 100755 --- a/redis/howto/metricsandcharts.mdx +++ b/redis/howto/metrics-and-charts.mdx @@ -2,40 +2,34 @@ title: Metrics and Charts --- -There are many metrics and charts in Upstash console. In this document, we will -explain what each of these charts refers to. There are two pages where you can -see charts and metrics: +The Upstash Console exposes metrics in two places: the database list, and the detail page of a single database. This page explains what each chart shows. ## Database List -The charts on this page give aggregated and total information about the database -and your usage. +The list view aggregates summary information across all of your databases. -In this chart, all your databases are listed. You can click on the name of the -database that you want to see detailed information. Also, the following -information is listed for each database: +Click a database name to open its detail page. For each row the list shows: - The region of the database -- The current size of the data -- The current count of active connections: Not that if your connections are - short-lived then you may see 0 here most of the time. +- The plan of the database (free, pay-as-you-go, fixed, or enterprise) -## Database Detail +## Database Details + +By clicking on a database on the list page, you can navigate to its detail page. The charts on this page show metrics that are specific to the selected database. ### Current Month - + -- This chart shows the daily cost of the database. The chart covers the last 5 - days. +Daily cost of the database for the current billing month. ### Daily Request @@ -43,8 +37,11 @@ The charts on this page show metrics that are specific to the selected database. -This chart shows the daily total number of requests to the database. The chart -covers the last 5 days. +Total number of requests per day, over the last 5 days. + +## Database Usage + +If you click on the "Usage" tab, you can see more detailed charts about the usage of your database. ### Throughput diff --git a/redis/howto/upgrade-database.mdx b/redis/howto/upgrade-database.mdx new file mode 100755 index 000000000..bb8cb8775 --- /dev/null +++ b/redis/howto/upgrade-database.mdx @@ -0,0 +1,18 @@ +--- +title: Upgrade Your Database +--- + +The free tier has limits on monthly commands, data size, and the number of databases per account. See the [pricing page](https://upstash.com/pricing/redis) for the current values. + +If your database is close to any of these limits, upgrade to the pay-as-you-go plan, which removes the daily request cap and raises the data size ceiling. + +To upgrade, you need a payment method. Follow the steps in [Add a Payment Method](/common/account/add-payment-method). Once a payment method is added, your database switches automatically to the pay-as-you-go plan. + +See [Pricing & Limits](../overall/pricing) for the full breakdown of the pay-as-you-go and Fixed plans. If your workload will exceed those quotas, reach out at support@upstash.com about our [Enterprise Plan](../overall/enterprise) where the limits are configurable. + + + During the upgrade process, you will not lose any data but your database will + experience a downtime about 1-2 seconds. Your existing clients will be + disconnected. So it is recommended to upgrade your database when there is the + least activity. + diff --git a/redis/howto/upgradedatabase.mdx b/redis/howto/upgradedatabase.mdx deleted file mode 100755 index 24fffdf7d..000000000 --- a/redis/howto/upgradedatabase.mdx +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: Upgrade Your Database ---- - -Free tier has followings restrictions: - -- Max 500K commands per month -- Max 256MB data size -- One free database per account - -If you think your database is close to reaching any of these limits, we -recommend you to upgrade to pay-as-you-go plan which includes: - -- No limit on requests per day -- Data size up to 100 GB - -To upgrade your database, you need to have a payment method. You can add a -payment method as described [here](/common/account/addapaymentmethod). After you add -a payment method, Upstash restarts your database and your new database starts -with the pay-as-you-go plan. - -See the [Pricing & Limits](../overall/pricing) for limits of the -pay-as-you-go and fixed plans. If you think, your use case will exceed those quotas, -contact us (support@upstash.com) for our [Enterprise Plan](../overall/enterprise) -where you can customize the limits. - - - During the upgrade process, you will not lose any data but your database will - experience a downtime about 1-2 seconds. Your existing clients will be - disconnected. So it is recommended to upgrade your database when there is the - least activity. - diff --git a/redis/overall/getstarted.mdx b/redis/overall/getstarted.mdx index 4a6a337b1..91bc3d34a 100755 --- a/redis/overall/getstarted.mdx +++ b/redis/overall/getstarted.mdx @@ -21,7 +21,7 @@ Upstash Redis is a **highly available, infinitely scalable** Redis-compatible da ## 1. Create an Upstash Redis Database -Once you're logged in, create a database by clicking `+ Create Database` in the upper right corner. A dialog opens up: +Log in to the [Upstash Console](https://console.upstash.com) (or [sign up](https://console.upstash.com) for a free account). From the **Redis** tab, click `+ Create Database` in the upper right corner. A dialog opens up: @@ -41,7 +41,11 @@ Once you click `Next` and select a plan, your database is running and ready to c ## 2. Connect to Your Database -You can connect to Upstash Redis with any Redis client. For simplicity, we'll use `redis-cli`. See the [Connect Your Client](../howto/connectclient) section for connecting via our TypeScript or Python SDKs and other clients. +You can connect to Upstash Redis with any Redis client. For simplicity, we'll use `redis-cli`. See the [Connect Your Client](../howto/connect-client) section for connecting via our TypeScript or Python SDKs and other clients. + + + You can copy the `redis-cli` command to connect to your database from the **Details** tab of your database in the Upstash Console. + The Redis CLI is included in the official Redis distribution. If you don't have Redis installed, you can get it [here](https://redis.io/docs/latest/operate/oss_and_stack/install/install-redis/). @@ -69,14 +73,14 @@ As you run commands, you'll see updates to your database metrics in (almost) rea Congratulations! You have created an ultra-fast Upstash Redis database! 🎉 -**New: Manage Upstash Redis From Cursor (optional)** +**New: Manage Upstash Redis with your agent** -Manage Upstash Redis databases from Cursor and other AI tools by using our [MCP server](/redis/integrations/mcp). +Manage Upstash Redis databases from Claude and other AI tools by using our [MCP server](/agent-resources/mcp). ## Next steps -- [Connect your client](../howto/connectclient): TypeScript, Python, Go, Java, and other Redis clients. +- [Connect your client](../howto/connect-client): TypeScript, Python, Go, Java, and other Redis clients. - [Use cases](/redis/overall/usecases): caching, rate limiting, queues, pub/sub, AI workloads, and more. - [Upstash Redis Search](/redis/search/introduction): full-text search built into Upstash Redis. - [REST API](/redis/features/restapi): connect from edge and serverless runtimes where TCP is restricted. diff --git a/redis/quickstarts/cloudflareworkers.mdx b/redis/quickstarts/cloudflareworkers.mdx index ebf64f6e0..eb80e174d 100755 --- a/redis/quickstarts/cloudflareworkers.mdx +++ b/redis/quickstarts/cloudflareworkers.mdx @@ -1,5 +1,5 @@ --- -title: " Cloudflare Workers" +title: "Cloudflare Workers" ---