image, true) ?? []; $data[$key] = $value; $userData->image = json_encode($data); $userData->save(); self::cacheUserData($userId, $userData); } public static function getData($userId, $key) { $userData = self::getCachedUserData($userId); if (!$userData || !$userData->image) { return "null"; } $data = json_decode($userData->image, true) ?? []; return isset($data[$key]) ? $data[$key] : null; } public static function removeData($userId, $key) { $userData = self::getCachedUserData($userId); if (!$userData || !$userData->image) { return "null"; } $data = json_decode($userData->image, true) ?? []; if (isset($data[$key])) { unset($data[$key]); $userData->image = json_encode($data); $userData->save(); self::cacheUserData($userId, $userData); } } private static function getCachedUserData($userId) { return Cache::remember('user_data_' . $userId, now()->addMinutes(10), function () use ($userId) { return self::where('id', $userId)->first(); }); } private static function cacheUserData($userId, $userData) { Cache::put('user_data_' . $userId, $userData, now()->addMinutes(10)); } }