я к примеру, промежуточные результаты сохраняю в базе, а если человек вышел из навыка, то через 30 минут или как настроешь, данные их кеша переползают в базу, это я к тому что даже если пользователь зайдет через неделю, он все равно продолжит с того же места, так как если в кеше не найдется инфы я ее из базы возьму и положу опять же в кеш ну и так далее