can we cache this? seems not great to introduce an extra few db calls with every page load and invalidation should be easy