Показать сообщение отдельно
Старый 25.08.2011, 13:22   #9  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2480 (88) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от Андрей К. Посмотреть сообщение
все это я уже читал.
тем не менее хотелось бы уточнить:
если в кеш попал результат запроса
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='Нет склада'
а затем кто-то изменяет данную строку, то при очередном селекте я не получу актуальные данные?
Зависит от многих факторов.

Во-первых, от того, где закэшировано - на сервере или на клиенте.
Если кэш на клиенте (и запрос там же) - то изменения не будут видны.
Серверный кэш - общий (в рамках одного AOS'а) и изменение данных на одном из подключений, так же изменяет данные в кэше. Так что пользователи на том же AOS'е изменения увидят (через запросы на сервере)

Во-вторых, какой тип кэширования выбран и используется ли транзакция во время выборки - для notInTTS используется разный кэш внутри и вне транзакции

В-третьих, сколько времени прошло со времени попадания записи в кэш - в 24 часа кэш сбрасывается (есть параметр, позволяющий уменьшить период, но на 2009-й у меня не заработало, а на 3.0 - не пробовал)
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: Logger (3), alex55 (3), Андрей К. (1), S.Kuskov (3).