Use Cases
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
- Leaderboards
- Queues
- Usage metering (counting)
- Content filtering
Check Salvatore’s blog post. You can find lots of similar articles about the common use cases of Redis.
Key Value Store and Caching for Next.js Application
Next.js is increasingly becoming the preferred method for developing dynamic and fast web applications in an agile manner. It owes its popularity to its server-side rendering capabilities and API routes supported by serverless functions, including Vercel serverless and edge functions. Upstash Redis is a great fit with Next.js applications due to its serverless model and its REST-based APIs. The REST API plays a critical role in enabling access from edge functions while also addressing connection issues in serverless functions.
Check the blog post: Speed up your Next.js application with Redis
Redis for Vercel Functions
Vercel stands out as one of the most popular cloud platform for web developers, offering continuous integration, deployment, CDN and serverless functions. However, when it comes to databases, you’ll need to rely on external data services to support dynamic applications.
That’s where Upstash comes into play as one of the most favored data solutions within the Vercel platform. Here are some reasons that contribute to Upstash’s popularity in the Vercel ecosystem:
- 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 various reasons, with one of the primary advantages being their cost-effectiveness – you only pay for what you actually use, which is great. However, when it comes to needing a storage layer, AWS recommends DynamoDB. DynamoDB does offer a serverless mode, which sounds promising until you encounter its latency when connecting and operating within Lambda Functions. Unfortunately, DynamoDB’s latency may not be ideal for Lambda Functions, where every second of latency can have a significant impact on costs. At this point, AWS suggests using ElastiCache for low-latency data storage, which is also a Redis® cache as a service – a positive aspect. However, it’s worth noting that ElastiCache is not serverless, and you have to pay based on what you provision, rather than what you use. To be honest, the pricing may not be the most budget-friendly option. This leaves you 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