Собственно начинаю работать с мемкешем и возникло несколько вопросов, в частности по правильной организации кеша.
Вот к примеру, зц, возьмем список файлов в категории. Я получаю ВЕСЬ список файлов из БД для ТЕКУЩЕЙ КАТЕГОРИИ, этот массив сохраняю в мемкеш, а затем получаю из массива таким способом:
$_view['data'] = array_filter($data['filesList'], function($item) use ($start, $itemsPerPage) {
return ($item->key >= $start || $item->key < ($start + $itemsPerPage));
});
Вопрос №1 - Верно ли решение? Или лучше делать кеш для каждой страницы отдельно? гг (сомневаюсь)
Идем дальше. Наряду со списком файлов идет просмотр отдельного файла. Тут у меня используется тот же массив что и для списка файлов, ключами которого идут айди файлов.
Вопрос №2 - Верно ли? или лучше делать для каждого файла отдельный кеш?
# Folour (06.04.2015 / 20:29)
Собственно начинаю работать с мемкешем и возникло несколько вопросов, в частности по правильной организации кеша.
Вот к примеру, зц, возьмем список файлов в категории. Я получаю ВЕСЬ список файлов
return ($item->key >= $start || $item->key < ($start + $itemsPerPage));
что оно у тебя вообще возвращает?
# Koenig (06.04.2015 / 20:35)
return ($item->key >= $start || $item->key < ($start + $itemsPerPage));
что оно у тебя вообще возвращает?
Список файлов в соответствии с текущей страницей гг
Koenig, У меня формат массива такой:
[
123 => [
'id' => 123,
'name' => 'File 1',
...
'key' => 0 //Позиция файла в изначальном массиве, полученном из БД
]
];
Ну только там && а не ||, опечатался
Folour, имхо перебирать массив все равно время, если в выводе количество на странице не меняется, то сделать для каждой страницы свой кэш, при добавлении файлов обновлять крайнюю страницу, или первую, в зависимости от сортировки, а по поводу файлов, не стоит гиганские данные законять в один ключ, разделяй все по полкам, кучка маленьких будет веселее работать по своему ключу отдаст быстро
При добавлении новых нужно будет весь кеш сбрасывать
В одной категории будет не более 1к файлов
# Folour (06.04.2015 / 20:45)
При добавлении новых нужно будет весь кеш сбрасывать
то есть новые на первой странице
# Koenig (06.04.2015 / 20:47)
то есть новые на первой странице
ну а остальные? сдвиг то пойдет для всех