At the moment we are caching GET and HEAD requests
However, we can improve the performance quite a lot if we start caching filter requests (which are not cached by default because we abuse http semantics to send queries with a POST method and the filter parameters in the body).
either using immutable objects with well defined hash protocol for all filters
bonus wins for structural equality
or by controlling serialization ourselves with an interceptor, and then using payload as cache key, or hashing payload. Bonus more control over our serialization protocol (toJSON has been problematic in the past)
At the moment we are caching GET and HEAD requests
However, we can improve the performance quite a lot if we start caching filter requests (which are not cached by default because we abuse http semantics to send queries with a POST method and the filter parameters in the body).