DEV Community

Cover image for Redis at Woovi
Sibelius Seraphini for Woovi

Posted on • Edited on

12 1

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

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more

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/

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Immerse yourself in a wealth of knowledge with this piece, supported by the inclusive DEV Community—every developer, no matter where they are in their journey, is invited to contribute to our collective wisdom.

A simple “thank you” goes a long way—express your gratitude below in the comments!

Gathering insights enriches our journey on DEV and fortifies our community ties. Did you find this article valuable? Taking a moment to thank the author can have a significant impact.

Okay