Everybody is talking about caching to increase performance but noone tells you exactly what to cache.
One simple strategy is to cache all database access.
We’ve built a data access layer that will cache every single dataset and lists of IDs for conditional sets.
There is no join on the database layer. This is all done by the application.
If you call a page twice, the second request won’t do any database queries to retrieve the displayed data.
It comes all from the cache. Changing data will update the cache and deleting will invalidate it.
Until now, the system runs very smooth and fast.
I’ll share future experiences by the time.
It’s very cool not to have to write database queries any more :-)