Выбор ответа Senior Клиент, сервер и контекст обновлено
Повторное использование возвращаемых значений
Вопрос
Общий модуль с повторным использованием «На время сеанса» возвращает Структуру настроек. В чём риск?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Вызывающий может изменить кешированную структуру для всех вызовов. Результат кешируется на сеанс, и вызывающий получает ссылку на один и тот же объект.
Варианты ответа
- Вызывающий может изменить кешированную структуру для всех вызововправильный ответ
- Модуль всё равно вызывается при каждом обращении, кеш не работает
- Данные кеша будут общими для всех пользователей базы
- Кеш сбрасывается каждую секунду, и выигрыша нет
Разбор
Результат кешируется на сеанс, и вызывающий получает ссылку на один и тот же объект. Если его изменить, «испортится» кеш. Поэтому из таких модулей возвращают ФиксированнаяСтруктура, ФиксированныйМассив. Кеш работает в рамках сеанса, а не между пользователями, и не сбрасывается по секунде (хотя платформа может его вытеснить).
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.