Code Explainers
Code explainers tagged #redis
python
import hashlib import json from functools import wraps from flask import g, request, jsonify, current_app
Building an idempotency decorator in Flask
idempotency
decorators
redis
Advanced
7 steps
typescript
import { CallHandler, ConflictException, ExecutionContext,
Idempotent POST requests in NestJS with Redis
idempotency
interceptor
redis
Advanced
7 steps
go
package handlers import ( "context"
A custom Gin validator backed by Redis
validation
redis
struct-tags
Intermediate
8 steps
java
@Service public class WebhookDedupService { private static final Logger log = LoggerFactory.getLogger(WebhookDedupService.class);
Idempotent webhooks with Redis in Spring
idempotency
redis
deduplication
Intermediate
7 steps
java
@Component public class IdempotencyFilter extends OncePerRequestFilter { private final StringRedisTemplate redis;
Building an idempotency filter with Redis in Spring
idempotency
redis
distributed-locking
Advanced
10 steps
javascript
import { NextResponse } from 'next/server'; import { Redis } from '@upstash/redis'; export const runtime = 'edge';
A deduped page-view counter in Next.js
edge-runtime
redis
rate-limiting
Intermediate
8 steps
go
package middleware import ( "context"
Per-tenant daily rate limiting in Gin
rate-limiting
middleware
redis
Intermediate
8 steps
php
<?php namespace App\Queue;
Deduplicating a job queue with Redis
deduplication
redis
atomicity
Advanced
8 steps
javascript
import { NextResponse } from 'next/server'; import { Redis } from '@upstash/redis'; const redis = Redis.fromEnv();
Sliding-window rate limiting in a Next.js route
rate-limiting
redis
sorted-set
Advanced
8 steps
go
func UserDashboardCache(rdb *redis.Client, ttl time.Duration) gin.HandlerFunc { return func(c *gin.Context) { claims, ok := c.Get("claims") if !ok {
Per-user response caching in Gin with Redis
middleware
caching
redis
Advanced
9 steps
typescript
import { Module } from '@nestjs/common'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { createClient, RedisClientType } from 'redis';
Provide a Redis client with a NestJS factory
dependency-injection
async-factory
redis
Intermediate
6 steps
go
package middleware import ( "bytes"
Idempotent requests in Gin with Redis
idempotency
caching
middleware
Advanced
10 steps
php
<?php namespace App\RateLimiting;
Sliding-window rate limiting with Redis sorted sets
rate-limiting
redis
sorted-sets
Advanced
8 steps
java
@Configuration @EnableRedisHttpSession(namespace = "myapp:sessions", maxInactiveIntervalInSeconds = 1800, flushMode = FlushMode.IMMEDIATE) public class SessionConfig {
Backing HTTP sessions with Redis in Spring
session-management
redis
distributed-state
Intermediate
7 steps
ruby
class SyncContactsJob < ApplicationJob queue_as :external_api MAX_CONCURRENCY = 5
Rate-limited CRM sync in a Rails job
background-jobs
rate-limiting
redis
Advanced
9 steps
python
import json import hashlib from datetime import timedelta
Idempotent payment endpoints in FastAPI
idempotency
redis
distributed-locking
Advanced
9 steps
python
from flask import Blueprint, jsonify, request, abort from flask_caching import Cache cache = Cache(config={"CACHE_TYPE": "RedisCache", "CACHE_REDIS_URL": "redis://localhost:6379/0"})
Custom cache keys for Flask endpoints
caching
redis
cache-invalidation
Intermediate
7 steps
javascript
const express = require('express'); const session = require('express-session'); const RedisStore = require('connect-redis').default; const { createClient } = require('redis');
Redis-backed session auth in Express
sessions
authentication
redis
Intermediate
8 steps