mirror of
https://github.com/SophiaAtkinson/steamwidgets-web.git
synced 2025-06-27 10:17:41 -07:00
DB Caching for SteamApp
This commit is contained in:
@ -26,7 +26,7 @@ class ApiController extends BaseController {
|
|||||||
$appid = $request->params()->query('appid', null);
|
$appid = $request->params()->query('appid', null);
|
||||||
$language = $request->params()->query('lang', 'english');
|
$language = $request->params()->query('lang', 'english');
|
||||||
|
|
||||||
$data = SteamApp::querySteamData($appid, $language);
|
$data = SteamCache::cachedSteamApp($appid, $language);
|
||||||
|
|
||||||
HitsModel::addHit(HitsModel::HITTYPE_MODULE_APP);
|
HitsModel::addHit(HitsModel::HITTYPE_MODULE_APP);
|
||||||
|
|
||||||
|
24
app/modules/SteamCache.php
Normal file
24
app/modules/SteamCache.php
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class SteamCache
|
||||||
|
*
|
||||||
|
* Cached gateway to Steam Web API queries
|
||||||
|
*/
|
||||||
|
class SteamCache {
|
||||||
|
public static function cachedSteamApp($appid, $lang)
|
||||||
|
{
|
||||||
|
$cache_driver = env('CACHE_DRIVER', null);
|
||||||
|
$cache_duration = env('CACHE_DURATION', 123);
|
||||||
|
|
||||||
|
if ($cache_driver === 'db') {
|
||||||
|
return json_decode(CacheModel::remember('steam_app_' . $appid . '_' . $lang, $cache_duration, function() use ($appid, $lang) {
|
||||||
|
return json_encode(SteamApp::querySteamData($appid, $lang));
|
||||||
|
}));
|
||||||
|
} else if ($cache_driver === 'redis') {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
return SteamApp::querySteamData($appid, $lang);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user