DEV Community

Cover image for Redis at Woovi
Sibelius Seraphini for Woovi

Posted on • Updated on

Redis at Woovi

This article explains our decision to use Redis at Woovi.

Redis is a versatile database that can solve many problems when scaling a Fintech.

Cache

The first problem that Redis solves is to be able to cache data.
You can use cache to reduce the workload from external APIs or the main database.

We use it to cache slow/expensive external APIs, OAuth2 tokens, and account balances.

Simple Cache with Redis

Distributed Lock

We use Redis to create distributed locks to make concurrency safe in some scenarios like updating the balance of an account.

A simple distributed lock implementation using Redis

Message Queue

We use Redis to create a message queue and async batch processing using BullMQ

The simplest Message Queue using Redis

Pub/Sub

We use Redis to create a publisher/subscriber to make our application real-time using WebSockets and GraphQL Subscriptions.

Simple Pub/Sub with Redis

Rate Limiting

We also implement rate limiting using Redis to avoid DDoS attacks, Credential stuffing, Brute force attacks, and Data scraping.

In Conclusion

Redis is a versatile database that can be used in many scenarios to solve many problems as you scale.
If you are not using Redis, it could be a good addition to your tech stack


Woovi is an innovative startup revolutionizing the payment landscape. With Woovi, shoppers can enjoy the freedom to pay however they prefer. Our cutting-edge platform provides instant payment solutions, empowering merchants to accept orders and enhance their customer experience seamlessly.

If you're interested in joining our team, we're hiring! Check out our job openings at Woovi Careers.


Photo by Amélie Mourichon on Unsplash

Top comments (2)

Collapse
 
brorlandi profile image
Bruno Orlandi

How to use it for Rate Limiting?
The only way I think is to store data about requests and query them on each request to see if the client has reached the rate limit. Is that correct?

Collapse
 
sibelius profile image
Sibelius Seraphini

I will write a practical article about it

you can implement many rate limit algorithms in Redis redis.io/glossary/rate-limiting/