The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Кеширование в memcache. Как быть с сложными запросами?"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"Кеширование в memcache. Как быть с сложными запросами?"  
Сообщение от BigEye on 05-Окт-08, 17:22 
Очень понравилась методика упрощения запроса и кэширования данных в memcache, описанная Михаилом Монашевым. http://softsearch.r­u/i/download/mmug.pd­f. Сейчас имею под рукой код с большим количеством сложных запросов и вот думаю, стоит ли тут применять такой же подход. Например как быть с запросами которые выводят блоги пользователей с различными сортировками. Пример одного такого запроса:

  $query = 'select b.title, b.id, p.id as post_id, p.title as post_title, u.login, u.gender, u.id as user_id,
  (CASE WHEN (lu.last_update >="'.getDbDate(time() - SESSION_ONLINE_PERIOD).'")
    THEN  REPLACE(a.image_url, ".gif", "_online.gif") ELSE a.image_url END) as avatar_url, b2.hits
from blog b
inner join (
  select b.id, count(bh.id) as hits from blog b
  LEFT JOIN blog_hit bh on ( bh.blog_id = b.id and TO_DAYS(now())-TO_DAYS(bh.create_date) <= 3 )
  group by b.id) b2 on b2.id = b.id
INNER JOIN post p ON p.id = last_post
inner join user u on (b.user_id = u.id)
LEFT JOIN user_last_update lu ON lu.user_id = u.id
inner join avatar a on (a.id = u.avatar_id)
WHERE b.hidden="no" AND b.read_access<>"'.ACCESS_TYPE_DISABLED.'"
ORDER BY b2.hits DESC';
Разбить такой запрос на более мелкие и закэшировать не так просто получается :) стоит ли заморачиваться? опыта нема с большими нагрузками, интересно мнение тех, кто имеет такой опыт :)

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Кеширование в memcache. Как быть с сложными запросами?"  
Сообщение от klubben (ok) on 07-Окт-08, 14:33 
Как известно memcached был создан для LiveJournal (выводит блоги с различными сортировками), просто смотрите исходники ЖЖ :)


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру