<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/building-an-api-rate-limiter-using-valkey-6vcmbnqvp" -->

---
title: Building an API rate limiter using Valkey | daily.dev
description: Learn how to implement a robust API rate limiter using Valkey, a Redis-compatible database, on DigitalOcean’s managed service. The tutorial demonstrates...
canonical: https://daily.dev/posts/building-an-api-rate-limiter-using-valkey-6vcmbnqvp
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Building an API rate limiter using Valkey | daily.dev
og:description: Learn how to implement a robust API rate limiter using Valkey, a Redis-compatible database, on DigitalOcean’s managed service. The tutorial demonstrates...
og:url: https://daily.dev/posts/building-an-api-rate-limiter-using-valkey-6vcmbnqvp
og:image: https://api.daily.dev/og/posts/6VcmBNqVP.png
og:image:alt: Building an API rate limiter using Valkey
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Building an API rate limiter using Valkey

**[DigitalOcean Community](https://daily.dev/sources/do_community)** · 7 min read · 66 upvotes · 2 comments

## Summary

Learn how to implement a robust API rate limiter using Valkey, a Redis-compatible database, on DigitalOcean’s managed service. The tutorial demonstrates setting up Valkey and using it with Express.js to control API requests, using Valkey's atomic operations and efficient memory management to handle high traffic without performance degradation.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.digitalocean.com/community/tutorials/build-api-rate-limiter-using-valkey>

## Community discussion

Top comments from developers on daily.dev.

**@itsmill3rtime** · 0 upvotes

> I’ll stick with the multithreaded dragonfly drop in replacement for redis

**@chiroro\_jr** · 0 upvotes

> It's 2025. No ES modules. Why?

## Similar posts on daily.dev

- [Don’t just attend KubeCon \+ CloudNativeCon, Merge Forward your experience\!](https://daily.dev/posts/don-t-just-attend-kubecon-cloudnativecon-merge-forward-your-experience--l0rpp73x8) · CNCF · 1 upvotes · 0 comments
- [Announcing H2 2026 KCDs](https://daily.dev/posts/announcing-h2-2026-kcds-m96goajm1) · CNCF · 1 upvotes · 0 comments
- [Two months of Open Community Groups](https://daily.dev/posts/two-months-of-open-community-groups-asf52zhbs) · CNCF · 0 upvotes · 0 comments
- [CNCF Unveils Schedule for KubeCon \+ CloudNativeCon Europe 2026](https://daily.dev/posts/cncf-unveils-schedule-for-kubecon-cloudnativecon-europe-2026-ikhcoa5cb) · CNCF · 2 upvotes · 0 comments
- [CNCF Debuts KubeCon \+ CloudNativeCon Japan 2026 Schedule](https://daily.dev/posts/cncf-debuts-kubecon-cloudnativecon-japan-2026-schedule-xp5pyudub) · CNCF · 1 upvotes · 0 comments

---

Tags: [#security](https://daily.dev/tags/security), [#webdev](https://daily.dev/tags/webdev), [#digitalocean](https://daily.dev/tags/digitalocean)

[View this post on daily.dev](https://daily.dev/posts/building-an-api-rate-limiter-using-valkey-6vcmbnqvp)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Building an API rate limiter using Valkey","url":"https://daily.dev/posts/building-an-api-rate-limiter-using-valkey-6vcmbnqvp","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/building-an-api-rate-limiter-using-valkey-6vcmbnqvp"},"datePublished":"2025-04-26T10:32:46.856Z","dateModified":"2025-04-26T10:33:00.187Z","description":"Learn how to implement a robust API rate limiter using Valkey, a Redis-compatible database, on DigitalOcean’s managed service. The tutorial demonstrates...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/fd675bc3cf2ce52643f20d38c3e58317?_a=AQAEuj9","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/fd675bc3cf2ce52643f20d38c3e58317?_a=AQAEuj9","isAccessibleForFree":true,"articleSection":"DigitalOcean Community","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"DigitalOcean Community","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/c1b9d07730e34ea388c39a498a753d6c","url":"https://daily.dev/sources/do_community"},"commentCount":2,"discussionUrl":"https://daily.dev/posts/building-an-api-rate-limiter-using-valkey-6vcmbnqvp","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":66},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":2}],"keywords":"security,webdev,digitalocean","timeRequired":"PT7M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"DigitalOcean Community","item":"https://daily.dev/sources/do_community"},{"@type":"ListItem","position":3,"name":"Building an API rate limiter using Valkey"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/building-an-api-rate-limiter-using-valkey-6vcmbnqvp","comment":[{"@type":"Comment","text":"I’ll stick with the multithreaded dragonfly drop in replacement for redis","datePublished":"2025-05-18T19:42:22.112Z","url":"https://daily.dev/posts/6VcmBNqVP#c-TtB1269ZF","author":{"@type":"Person","name":"Jimmy","url":"https://daily.dev/itsmill3rtime","image":"https://lh3.googleusercontent.com/a-/AOh14GivP9a0oAdstTbTODgVIlsGnWnyg0MTB9s30JPDUR8=s100"}},{"@type":"Comment","text":"It’s 2025. No ES modules. Why?","datePublished":"2025-05-03T18:51:11.085Z","url":"https://daily.dev/posts/6VcmBNqVP#c-geW0c8Oet","author":{"@type":"Person","name":"Dennis Chiroro","url":"https://daily.dev/chiroro_jr","image":"https://lh3.googleusercontent.com/a-/AOh14Ggw9p1SQijTWm0OQj9h07C6yN1DFS6Q6IUHFH3TDQ=s100"}}]}
```

