Вопрос № 173849: День добрый уважаемые эксперты, такой вопрос - нужен был скрипт оценки нескольких объектов по нескольким его свойствам по некой шкале. В моем случае - это скрипт позволяющий оценить каждое из характеристик сотрудника по 10ти бальной шкале. Тоесть зах...
Вопрос № 173856: Здравствуйте. Скажите пожалуйста как осуществить кэширование запросов к базе данных ? Например есть таблица users в ней поля : id, nic, name,email Как надо составить запрос на sql или может использовать php что бы данные кэшировалис...
Вопрос № 173849:
День добрый уважаемые эксперты, такой вопрос - нужен был скрипт оценки нескольких объектов по нескольким его свойствам по некой шкале. В моем случае - это скрипт позволяющий оценить каждое из характеристик сотрудника по 10ти бальной шкале. Тоесть заходящий по очереди проходит по всем свойствам каждого из объекта и проставляет свою оценку. В результата высчитывается средняя оценка как по характеристикам так и итоговая. Подскажите может чего? :) Вот такой вот опрос, заранее благодарю Всех!
Отправлен: 30.10.2009, 20:38
Вопрос задал: skatet, Посетитель
Всего ответов: 1 Страница вопроса »
Отвечает vladisslav, 5-й класс :
Здравствуйте, skatet. Вот скрипт, работающий по предложенному сценарию. Чтение наименований объектов и сохранение результатов переделайте как нужно. Для демонстрации выбранные значения сохраняются в сессии, чтобы не возиться с созданием таблиц и прочим.
Приложение:
";
}else{
print "";
};
print "";
?>
Ответ отправил: vladisslav, 5-й класс
Ответ отправлен: 02.11.2009, 11:07
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 256112
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 173856:
Здравствуйте. Скажите пожалуйста как осуществить кэширование запросов к базе данных ? Например есть таблица users в ней поля : id, nic, name,email Как надо составить запрос на sql или может использовать php что бы данные кэшировались ? Используется: апач , MySQL-5 -й версии. Спасибо.
Отвечает F®ost, Советник :
Здравствуйте, Dima1967. Посмотрите статью Кэширование SQL-запросов с Zend_Cache. В ней рассказывается, как с помощью компонента Zend_Cache организовано кэширование запросов к базе данных. Весьма подробно расписан, как создается и как работает объект кэша, а так же как его чистить. Удачи!
----- От вопроса к ответу, от проблемы к решению
Ответ отправил: F®ost, Советник
Ответ отправлен: 31.10.2009, 16:32 Беларусь, Минск Тел.: 375292792018 Организация: Минский Промтранспроект Адрес: ул. В.Хоружей, 13, г. Минск, Беларусь
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 256050
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Отвечает Товарищ Бородин, Академик :
Здравствуйте, Dima1967. Советник F®ost меня опередил - я сам хотел предложить этот вариант, потому как использую его очень активно - и он помогает, реально ускоряет работу сайта. Что касается хранилища, то на этот счет у Zend_Cache существуют адаптеры. Самый простой случай - файл в виде хранилища.
Чтобы кэшировать предложенный Вами запрос, нужно: а) один раз его выполнить посредством обращения к базе данных; б) результат выполнения запроса сериализовать(с помощью функции serialize); в)
сохранить результат в сессии или в файловой системе Вашего сервера с уникальным идентификатором, которому в соответствие можно поставить Ваш запрос.
После сохранения результата запроса в кэше алгоритм действий такой: проверяете наличие чего-либо в кэше под уникальным идентификатором, и если кэш по каким-либо причинам пуст(например, устарел и очистился) или просто устарел и его данные более не актуальны, выполняете обращение к базе данных, после чего сохраняете р
езультат в кэше под новым идентификатором. Если же в кэше есть актуальные данные, выдергиваете их, выполняете их десериализацию с помощью функции unserialize, и подставляете в свой код. Все довольно просто. В Zend Framework кэширование осуществляется по такому принципу, и я Вам, по сути, рассказал, как оно там происходит. Но оно правильно происходит, и нет особого смысла огород городить! С помощью Zend_Cache Вы можете кэшировать любые данные. И весь остальной фреймворк использовать для этого, по-видимому, не
обязательно, хотя я и не пробовал, потому что я как раз использую весь ZF.
Если Вы решаете писать все это удовольствие самостоятельно, сначала определитесь, где и как будете хранить кэш, потом напишите функции сохранения и получения данных в/из кэш(а), ну и наконец, функцию проверки актуальности и наличия данных кэша.
С уважением, Товарищ Бородин
Ответ отправил: Товарищ Бородин, Академик
Ответ отправлен: 31.10.2009, 21:29
Оценка ответа: 5
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 256054
на номер 1151 (Россия) |
Еще номера »
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценить выпуск »
Нам очень важно Ваше мнение об этом выпуске рассылки!
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.