One optimization for background refresh is coalescing the individual reloads into a batch operation based on a time/space window. Here is how we do it in the Java world. [1]
[1] https://github.com/ben-manes/caffeine/tree/master/examples/c...
[1] https://github.com/ben-manes/caffeine/tree/master/examples/c...