Zum Inhalt springen
_CORE
KI & Agentensysteme Unternehmensinformationssysteme Cloud & Platform Engineering Datenplattform & Integration Sicherheit & Compliance QA, Testing & Observability IoT, Automatisierung & Robotik Mobile & Digitale Produkte Banken & Finanzen Versicherungen Öffentliche Verwaltung Verteidigung & Sicherheit Gesundheitswesen Energie & Versorgung Telko & Medien Industrie & Fertigung Logistik & E-Commerce Retail & Treueprogramme
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

Redis Patterns — cache, session, queue

03. 02. 2025 1 Min. Lesezeit intermediate

Redis ist nicht nur ein Key-Value-Store. Cache, Sessions, Rate Limiting, Pub/Sub, Leaderboards – eine vielseitige In-Memory-Datenbank.

Cache-Pattern

import redis r = redis.Redis() def get_user(user_id):

Check cache

cached = r.get(f”user:{user_id}”) if cached: return json.loads(cached)

Cache miss – fetch from DB

user = db.users.find_one(user_id) r.setex(f”user:{user_id}”, 3600, json.dumps(user)) # TTL 1h return user

Rate Limiter

def rate_limit(key, limit=100, window=60): pipe = r.pipeline() now = time.time() pipe.zremrangebyscore(key, 0, now - window) pipe.zadd(key, {str(now): now}) pipe.zcard(key) pipe.expire(key, window) _, _, count, _ = pipe.execute() return count <= limit

Pub/Sub

Publisher

r.publish(‘notifications’, json.dumps({‘user’: 123, ‘msg’: ‘Hello’}))

Subscriber

pubsub = r.pubsub() pubsub.subscribe(‘notifications’) for message in pubsub.listen(): if message[‘type’] == ‘message’: handle(json.loads(message[‘data’]))

Wichtigste Erkenntnis

Cache mit TTL, Sorted Set fuer Rate Limiting, Pub/Sub fuer Echtzeit. Redis = Schweizer Taschenmesser.

rediscachedatabasepatterns
Teilen:

CORE SYSTEMS Team

Wir bauen Kernsysteme und KI-Agenten, die den Betrieb am Laufen halten. 15 Jahre Erfahrung mit Enterprise-IT.