Server cache
One of the problems of API development is that it is very asymmetric regarding resources. The server handles the load for many clients, sometimes thousands of them, so the server has to be very efficient in handling all those requests. Caching in the client is going to save you from handling some requests, but there are many requests that you need to handle anyway. The best way to be efficient is to avoid doing unnecessary things, and that is where server caches come into play.
A server cache is about storing information that you are going to need to reuse in a quickly accessible way. For example, accessing the SQL database server is always slower than accessing the memory of your process, so if you store a copy of the data that is frequently accessible in an in-memory cache, you can save a lot of time accessing the database. It doesn’t need to be an in-memory cache. You can use in-memory-oriented databases such as Redis or Memcached. But everything boils down...