Цитата:
Сообщение от
Андрей К.
все это я уже читал.
тем не менее хотелось бы уточнить:
если в кеш попал результат запроса
SELECT * FROM InventLocation A WHERE INVENTLOCATIONID='Нет склада'
а затем кто-то изменяет данную строку, то при очередном селекте я не получу актуальные данные?
Зависит от многих факторов.
Во-первых, от того, где закэшировано - на сервере или на клиенте.
Если кэш на клиенте (и запрос там же) - то изменения не будут видны.
Серверный кэш - общий (в рамках одного AOS'а) и изменение данных на одном из подключений, так же изменяет данные в кэше. Так что пользователи на том же AOS'е изменения увидят (через запросы на сервере)
Во-вторых, какой тип кэширования выбран и используется ли транзакция во время выборки - для notInTTS используется разный кэш внутри и вне транзакции
В-третьих, сколько времени прошло со времени попадания записи в кэш - в 24 часа кэш сбрасывается (есть параметр, позволяющий уменьшить период, но на 2009-й у меня не заработало, а на 3.0 - не пробовал)