DB Caching for SteamServer

This commit is contained in:
Daniel Brendel 2024-04-05 22:26:37 +02:00
parent 63af530e3c
commit 29ae462e11
2 changed files with 17 additions and 1 deletions

View File

@ -47,7 +47,7 @@ class ApiController extends BaseController {
try {
$addr = $request->params()->query('addr', null);
$data = SteamServer::querySteamData(env('STEAM_API_KEY'), $addr);
$data = SteamCache::cachedSteamServer(env('STEAM_API_KEY'), $addr);
HitsModel::addHit(HitsModel::HITTYPE_MODULE_SERVER);

View File

@ -69,4 +69,20 @@ class SteamCache {
return SteamGroup::querySteamData($group);
}
}
public static function cachedSteamServer($key, $addr)
{
$cache_driver = env('CACHE_DRIVER', null);
$cache_duration = env('CACHE_DURATION', 123);
if ($cache_driver === 'db') {
return json_decode(CacheModel::remember('steam_server_' . $addr, $cache_duration, function() use ($key, $addr) {
return json_encode(SteamServer::querySteamData($key, $addr));
}));
} else if ($cache_driver === 'redis') {
} else {
return SteamServer::querySteamData($key, $addr);
}
}
}