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 this 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.
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