SyntaxStudy
Sign Up
PHP API Response Caching
PHP Intermediate 4 min read

API Response Caching

Caching API Responses

Cache expensive API responses with Laravel's Cache facade. Use cache tags for grouped invalidation.

Example
public function index(Request $request) {
    $key = "api:posts:" . md5(serialize($request->query()));
    return Cache::remember($key, 300, function () use ($request) {
        return PostResource::collection(Post::filter($request)->paginate(20));
    });
}
// Invalidate on mutation
public function store(StorePostRequest $request) {
    $post = Post::create($request->validated());
    Cache::forget("api:posts:*"); // or use Cache::tags(["posts"])->flush();
    return new PostResource($post);
}
Pro Tip

Cache::remember(key, ttl, closure) is atomic — only one process recalculates on cache miss.