From 63af530e3c9daaded9666538bf5bdc1f1c347338 Mon Sep 17 00:00:00 2001 From: Daniel Brendel Date: Fri, 5 Apr 2024 22:23:02 +0200 Subject: [PATCH] DB Caching for SteamWorkshop --- app/controller/api.php | 2 +- app/modules/SteamCache.php | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/app/controller/api.php b/app/controller/api.php index 1591f95..5ff35db 100644 --- a/app/controller/api.php +++ b/app/controller/api.php @@ -89,7 +89,7 @@ class ApiController extends BaseController { try { $itemid = $request->params()->query('itemid', null); - $data = SteamWorkshop::querySteamData($itemid); + $data = SteamCache::cachedSteamWorkshop($itemid); HitsModel::addHit(HitsModel::HITTYPE_MODULE_WORKSHOP); diff --git a/app/modules/SteamCache.php b/app/modules/SteamCache.php index c09b510..61976df 100644 --- a/app/modules/SteamCache.php +++ b/app/modules/SteamCache.php @@ -38,6 +38,22 @@ class SteamCache { } } + public static function cachedSteamWorkshop($itemid) + { + $cache_driver = env('CACHE_DRIVER', null); + $cache_duration = env('CACHE_DURATION', 123); + + if ($cache_driver === 'db') { + return json_decode(CacheModel::remember('steam_workshop_' . $itemid, $cache_duration, function() use ($itemid) { + return json_encode(SteamWorkshop::querySteamData($itemid)); + })); + } else if ($cache_driver === 'redis') { + + } else { + return SteamWorkshop::querySteamData($itemid); + } + } + public static function cachedSteamGroup($group) { $cache_driver = env('CACHE_DRIVER', null);