Ответ
Vint 04.09.2011 15:14
Подход верный, но можно добавить кеширование для каждого товара.
Тогда на страницах со списком товаров надо получать список id (как сейчас) и доставать инфу о товаре по одному: из кеша, если есть; из базы, если нет в кеше + тут же класть в кеш.
На страницах с товаром тоже самое только для одного id (товара).
Т.е. товар -- объект, который писан в базе, но информация о нём может быть атомарно закеширована.
Важно учесть, что скорость работы с кешем (диском) может быть меньше, чем запрос в базу данных. А в случае с интернет магазином и большим количеством товаров кеш будет занимать много места на диске и, по сути, быть избыточным звеном.