initRedis(); $rate = $redis->get('exchange_rate:' . $from . '_' . $to); if (! $rate) { $client = new Client(); $response = $client->get('https://cdn.moneyconvert.net/api/latest.json'); $data = json_decode($response->getBody()->getContents(), true); $rate = $data['rates'][$to] / $data['rates'][$from]; $redis->setex('exchange_rate:' . $from . '_' . $to, 3600, $rate); } return (float) $rate; } }