Refactor TrendingProjectsFinder to support caching

yorickpeterse-staging requested to merge trending-caching into master

What does this MR do?

This refactors TrendingProjectsFinder so it can support caching of the data. See cb7d3989 for more details.

Are there points in the code the reviewer needs to double check?

The usual.

Why was this MR needed?

Trending projects is quite slow, easily taking seconds to load the entire page.

Does this MR meet the acceptance criteria?

What are the relevant issue numbers?, in particular the section "Trending page under 2s"

Merge request reports