There comes a time in every frontend engineer’s life where we realize we need to cache data from an API. It might start off benign - storing a previous page of data for that instant back button experience, implementing a bit of undo logic, or merging some state from different API requests. But we all know what ends up happening. More feature requests show up, and soon we’re busy implementing data caches, manual indexes, optimistic mutations, and recursive cache invalidation.

Source: SQLSync - Stop building databases

At some point, it’s worth stepping back and asking if there are simpler approaches.