groupID64 = intval($content->groupID64->__toString()); $result->groupName = $content->groupDetails->groupName->__toString(); $result->groupURL = $content->groupDetails->groupURL->__toString(); $result->groupHeadline = $content->groupDetails->headline->__toString(); $result->groupSummary = $content->groupDetails->summary->__toString(); $result->groupAvatar = $content->groupDetails->avatarFull->__toString(); $result->members = new \stdClass(); $result->members->count = intval($content->groupDetails->memberCount->__toString()); $result->members->in_chat = intval($content->groupDetails->membersInChat->__toString()); $result->members->in_game = intval($content->groupDetails->membersInGame->__toString()); $result->members->online = intval($content->groupDetails->membersOnline->__toString()); // Store data in cache self::setToCache($cacheKey, $result); return $result; } return null; } /** * Get data from Redis cache * * @param $key * @return mixed|bool */ private static function getFromCache($key) { $redis = new Redis(); $redis->connect(env('REDIS_HOST'), env('REDIS_PORT')); if (env('REDIS_PASS') !== '') { $redis->auth(env('REDIS_PASS')); } $redis->select(env('REDIS_DATABASE')); // Selecting Redis database index $cachedData = $redis->get($key); if ($cachedData !== false) { return json_decode($cachedData); } return false; } /** * Set data to Redis cache * * @param $key * @param $value */ private static function setToCache($key, $value) { $redis = new Redis(); $redis->connect(env('REDIS_HOST'), env('REDIS_PORT')); if (env('REDIS_PASS') !== '') { $redis->auth(env('REDIS_PASS')); } $redis->select(env('REDIS_DATABASE')); // Selecting Redis database index $redis->set($key, json_encode($value), env('REDIS_EXPIRATION')); } }