Начиная с акс2009 все разработчики стандартного функционала все чаще и чаще используют globalCache для кэширования.
Изначально кэшировался доступ к объектам AOT, к treeNode, Dict*.
Потом все больше стали кэшировать выбранные записи (вместо свойства ChacheTable=EntireTable), теперь кэшируют все подряд.
Для опреденности, напомню, что:
- речь идет о классе SysGlobalCache.
- в Аксапте есть 4 глобальных кэша: Infolog.globalCahce(), Appl..globalCahce(), ClassFactory..globalCahce() серверная и клиентская части
- глобальный кэш основан на dictionary (new Map(types::string, types:class))
- глобальный кэш содержит статическую и волатильную часть
- что нет способа ограничить размер глобального кэша, нет механизма устаревания данных, очистки устаревших данных. есть только сброс волатильной части при помощи flush. При этом сброс вызывается только из двух мест - InventDim и Kanban
что вы думаете о глобальном кэшировании в Аксапте?
как правильно, на ваш взгляд кэшировать, а как неправильно?
что подлежит кэшированию, а что кэшировать ни в коем случае нельзя?
что можно было бы сделать к кэшем в аксапте, чтобы упростить жизнь всех разработчиков, администраторов и пользователей? чтобы снизить вероятность ошибок, связанных с кэшированием?