$region_id, 'provincias' => [] ]; $redisKey = "provincias:region:{$region_id}"; try { $output['provincias'] = $this->fetchRedis($redisService, $redisKey); } catch (EmptyRedis) { try { $provincias = $provinciaRepository->fetchByRegion($region_id); usort($provincias, function(Model\Provincia $a, Model\Provincia $b) { return strcmp($a->descripcion, $b->descripcion); }); $output['provincias'] = $provincias; $this->saveRedis($redisService, $redisKey, $output['provincias'], 60 * 60 * 24 * 30); } catch (EmptyResult) {} } return $this->withJson($response, $output); } }