Singleton с одиночным доступом.

0xHH

Новичок
Singleton с одиночным доступом.

В текущем проекте столкнулся со следующей ситуацией.

Довольно много require, в большинстве из которых есть запросы к БД. Не уверен, что эти запросы единственны при работе скрипта. Может какие-то из них повторяются. Хотелось бы

1) минимизировать их кол-во;
2) запретить повторное выполнение.

Некоторые запросы повторяются постоянно при каждом вызове скрипта. Например, получение списка категорий. Список категорий меняется раз в пятилетку. Одно из решений, в админке при изменении списка категорий генерировать список в файл на сервере. С другой стороны этот список можно хранить в параметрах сессии. Другой механизм. При запросе к бд, сохраняются результаты запроса и при повторном запросе в этом же скрипте результаты отдаются повторно без выполнения запроса.

Вопрос в следующем. Кто-то использует подобные решения? Есть какие-то готовые механизмы?
 

Popoff

popoff.donetsk.ua
Другой механизм. При запросе к бд, сохраняются результаты запроса и при повторном запросе в этом же скрипте результаты отдаются повторно без выполнения запроса.
Вопрос в следующем. Кто-то использует подобные решения? Есть какие-то готовые механизмы?
Готовый механизм для кеширования запросов:
http://dev.mysql.com/doc/refman/5.0/en/query-cache.html
 

zerkms

TDD infected
Команда форума
[offtop]
извиняюсь конечно, но при чём тут Singleton? :)
[/offtop]
 

0xHH

Новичок
zerkms
Была идея построить для каждого запроса final singleton class. :)
Вернее один singleton class, параметром у которого будет query.
 

zerkms

TDD infected
Команда форума
0xHH
супер. вместо кеширования результатов работы функции/метода делать непонятные синглтоны. браво ;)
 
Сверху