This is a Redis starter template for JS and Node adapted for exact and approximate data deduplication using:
Copy and edit the .env file:
cp .env.example .envYour .env file can point at Redis Cloud or the local Docker ports shown in
.env.example.
Next, spin up docker containers:
bun dockerYou should have a server running on http://localhost:8080. You can test the following routes:
POST /api/dedup/events- Process a webhook or event through exact and approximate dedup checksGET /api/dedup/stats?scope=<scope>- Inspect exact count, Bloom filter size, and estimated false-positive ratePOST /api/dedup/reset- Clear all keys for a scope so you can replay the same sample workload
There are some tests in the __tests__ folder that can be run with the following command:
bun testThese tests setup and teardown on their own. You can modify them if you want to leave data in Redis.
To run the development server outside of docker:
bun install
# then
bun devFormatting code:
bun formatUpdating dependencies:
bun updateIf you don't yet have a database setup in Redis Cloud get started here for free.
To connect to a Redis Cloud database, log into the console and find the following:
- The
public endpoint(looks likeredis-#####.c###.us-east-1-#.ec2.redns.redis-cloud.com:#####) - Your
username(defaultis the default username, otherwise find the one you setup) - Your
password(either setup through Data Access Control, or available in theSecuritysection of the database page.
Combine the above values into a connection string and put it in your .env accordingly. It should
look something like the following:
REDIS_URL="redis://default:<password>@redis-#####.c###.us-west-2-#.ec2.redns.redis-cloud.com:#####"Run the tests to verify that you are connected properly.
The dedup demo uses a core Redis Bloom-style bitset with SETBIT and GETBIT
so it stays runnable on stock redis:alpine.
To learn more about Redis, take a look at the following resources:
- Redis Documentation - learn about Redis products, features, and commands.
- Learn Redis - read tutorials, quick starts, and how-to guides for Redis.
- Redis Demo Center - watch short, technical videos about Redis products and features.