Может быть алгоритм кэширования такой:
1. Если есть первичный индекс, в запросе в условиях равенства по всем полям индекса и нет других полей, и небыло на данной таблично переменной выполнено метода disableCache(true) - тогда "тут возможно кэширование", т.е. смотрим кэш, если в нем есть данная запись берем из кэша ,если нет то "готовимся к кэшированию" (не смотря какой установлен cacheLookup) и в запрос, если в нем выбираются не все поля, добавляем все поля и отправляем такой модифицированный запрос на SQL-сервер.
2. Когда результаты вернулить в зависимость от того, какое кэшироване настроено (например found или none), то либо записать выбранную запись в кэш, либо нет.
|