|
07.06.2017, 14:39 | #1 |
Участник
|
Цитата:
Это был бы неплохой вариант эквивалентный рестарту аоса, но без убиения пользовательских сессий. Пользователь только заметил бы некоторое замедление работы (пока затягиваются заново значения в кеши). Это было бы нужно прежде всего при работе 24/7 когда нужно подправить какие-то настройки или накатить код но не останавливая весь комплекс. 2009-я аксапта это позволяла. В 2012-й похоже от такого отказались, а жаль. |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
07.06.2017, 18:41 | #2 |
Участник
|
Цитата:
Собственно, глобальная переменная потому и "глобальная" что никак и ни с чем не связана. Как следствие, сделать какой-либо вывод о том, что данная переменная уже никак и нигде не используется - невозможно. Нет никаких критериев, по которым этом можно было бы сделать. Всегда есть риск, что будет удалено что-то нужное... Используемое "вот прям счаз" В теории, сам разработчик должен указать "область видимости". Т.е. событие, по наступлении которого глобальную переменную можно удалить. Ну, там, некий процесс завершился или время вышло. Но! Раз такая переменная вообще была создана, значит разработчик как раз и не в состоянии проконтролировать эту самую "область видимости" Единственный выход - не создавать глобальный кеш. Но это уже невозможно. Джина выпустили из бутылки
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
07.06.2017, 18:59 | #3 |
Участник
|
Цитата:
если обнулить ссылку в глобальном кэше, то сам объект не удалится, у него просто уменьшится счетчик ссылок. те, объекты, у которых счетчик ссылок = 0, попадут в следующую итерацию сборщика мусора. там в процессе сборки мусора и будут удалены. |
|
07.06.2017, 21:34 | #4 |
Участник
|
Ссылка возникает в момент обращения. Но сама идея глобальных объектов в том и заключается, что обращение будет отложено.
Ну, например, процесс 1 сформировал глобальный объект и был завершен. А потом, спустя некоторое время, был запущено процесс 2, который как раз и обратился за данными глобального объекта. Такое "отложенное" обращение счетчик ссылок не поймает. Просто нет ссылок на момент вычисления. Причем не факт, что это просто кеш. Это может быть и промежуточные расчеты в какой-то сложной конфигурации классов
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
Теги |
sysglobalcache, кэширование |
|
|