import redis, hashlib, json, os r = redis.Redis.from_url(os.getenv("REDIS_URL", "redis://localhost:6379/0")) def cached(key: str, fn): h = hashlib.sha256(key.encode()).hexdigest() if (val := r.get(h)): return json.loads(val) out = fn() r.setex(h, 3600, json.dumps(out)) return out