CAT-512 · Product detail pages show the wrong item
After adding a response cache to cut DB load, product pages started crashing or showing another product's data. Updated prices also stay stale.
Requirements: cache GET /api/products/:id per URL for 30 seconds. A PUT to a product must invalidate its cached entry.