core: cache public GET endpoints
The DB is suffering from the amount of joins we have been using everywhere. To mitigate the effects of this problem, as a rule of thumb, public GET endpoints that are frequently accessed and rarely change should be cached (stored in Redis).