diff --git a/app/controller/api.php b/app/controller/api.php index d65985c..1591f95 100644 --- a/app/controller/api.php +++ b/app/controller/api.php @@ -68,7 +68,7 @@ class ApiController extends BaseController { try { $steamid = $request->params()->query('steamid', null); - $data = SteamUser::querySteamData(env('STEAM_API_KEY'), $steamid); + $data = SteamCache::cachedSteamUser(env('STEAM_API_KEY'), $steamid); HitsModel::addHit(HitsModel::HITTYPE_MODULE_USER); diff --git a/app/modules/SteamCache.php b/app/modules/SteamCache.php index 598dfbd..c09b510 100644 --- a/app/modules/SteamCache.php +++ b/app/modules/SteamCache.php @@ -22,6 +22,22 @@ class SteamCache { } } + public static function cachedSteamUser($key, $steamid) + { + $cache_driver = env('CACHE_DRIVER', null); + $cache_duration = env('CACHE_DURATION', 123); + + if ($cache_driver === 'db') { + return json_decode(CacheModel::remember('steam_user_' . $steamid, $cache_duration, function() use ($key, $steamid) { + return json_encode(SteamUser::querySteamData($key, $steamid)); + })); + } else if ($cache_driver === 'redis') { + + } else { + return SteamUser::querySteamData($key, $steamid); + } + } + public static function cachedSteamGroup($group) { $cache_driver = env('CACHE_DRIVER', null);