I would cache that country list first and assign the appropriate country to each retrieved person. If you decide to also cache persons you should make them depend on the cached countries and invalidate them when you make any update to the countries/country list.