diff --git a/app/controller/api.php b/app/controller/api.php index 5ae27bd..d65985c 100644 --- a/app/controller/api.php +++ b/app/controller/api.php @@ -110,7 +110,7 @@ class ApiController extends BaseController { try { $group = $request->params()->query('group', null); - $data = SteamGroup::querySteamData($group); + $data = SteamCache::cachedSteamGroup($group); HitsModel::addHit(HitsModel::HITTYPE_MODULE_GROUP); diff --git a/app/modules/SteamCache.php b/app/modules/SteamCache.php index 134ceff..598dfbd 100644 --- a/app/modules/SteamCache.php +++ b/app/modules/SteamCache.php @@ -21,4 +21,20 @@ class SteamCache { return SteamApp::querySteamData($appid, $lang); } } + + public static function cachedSteamGroup($group) + { + $cache_driver = env('CACHE_DRIVER', null); + $cache_duration = env('CACHE_DURATION', 123); + + if ($cache_driver === 'db') { + return json_decode(CacheModel::remember('steam_group_' . $group, $cache_duration, function() use ($group) { + return json_encode(SteamGroup::querySteamData($group)); + })); + } else if ($cache_driver === 'redis') { + + } else { + return SteamGroup::querySteamData($group); + } + } }