The data store behind Upstash is compatible with almost all Redis® API. So you can use Upstash for the Redis®' popular use cases such as:
- General caching
- Session caching
- Usage metering (counting)
- Content filtering
Check Salvatore's blog post. You can find lots of similar articles about the common use cases of Redis. But what makes Upstash different than other hosted Redis solutions is its serverless approach.
- You do not deal with servers.
- You pay only when you use.
Key Value Store and Caching for Next.js Application
Next.js is becoming the mainstream way of creating dynamic, fast web applications in agile way. Thanks to its serverside rendering capabilities and API routes backed by serverless functions (Vercel serverless and edge functions). Upstash Redis is a great fit for Next.js applications thanks to its serverless model and its based on REST API. Built REST API is critical to allow access from edge functions as well as mitigating the connection issues in serverless functions.
Check the blog post: Speed up your Next.js application with Redis
Redis for Vercel Functions
Vercel is one of the most popular cloud platform for web developers. Vercel provides continuous integration, deployment, CDN and serverless functions for developers. The missing part is the database. You need to use external data services for dynamic applications. Upstash is one of the most popular data solutions in Vercel platform. Here some reasons what makes Upstash popular in the Vercel platform:
- No connection problems thanks to Upstash SDK built on Upstash REST API.
- Edge runtime does not allow TCP based connections. You can not use regular Redis clients. Upstash SDK works on edge runtimes without a problem.
- Upstash has a Vercel add on where you can easily integrate Upstash to your Vercel projects.
Storage For Lambda Functions (FaaS)
People use Lambda functions for different reasons. One of the biggest reasons is their cost-effectiveness. You do not pay unless you really utilize it. That's good. But when you need a storage layer, they recommend you AWS DynamoDB. DynamoDB has also serverless mode, it sounds good until you discover the latency to connect and to operate on DynamoDB. Its latency is not good enough for Lambda Functions where every second of latency costs you. Ok, now they recommend ElastiCache for low latency data storage. ElastiCache is also a Redis® cache as a service, so that's good too. But... It is not serverless. You have to pay what you provision, not what you use. Honestly, the prices are not much friendly. So you end up with two alternatives:
- DynamoDB: Serverless but high latency
- ElastiCache: Low latency but not serverless.
Until you meet the Upstash. Our sole mission is to provide a Redis® API compatible database that you love in the serverless model. In Upstash, you pay per the number of requests you have sent to your database. So if you are not using the database you pay almost nothing. (Almost, because we charge for the storage. It is a very low amount but still it is there.)
We believe that Upstash is the best storage for your Lambda Functions because:
- Serverless just like Lambda functions itself
- Designed for low latency data access
- The lovely simple Redis® API