$provincia_id, 'comunas' => [] ]; $redisKey = "comunas:provincia:{$provincia_id}"; try { $output['comunas'] = $this->fetchRedis($redisService, $redisKey); } catch (EmptyRedis) { try { $comunas = $comunaRepository->fetchByProvincia($provincia_id); usort($comunas, function(Model\Comuna $a, Model\Comuna $b) { return strcmp($a->descripcion, $b->descripcion); }); $output['comunas'] = $comunas; $this->saveRedis($redisService, $redisKey, $comunas, 60 * 60 * 24 * 30); } catch (EmptyResult) {} } return $this->withJson($response, $output); } }