Cache candidates per service and add option to flush