Организация кеширования через Memcached (Вопрос)

1.03K
.
Think different
Собственно начинаю работать с мемкешем и возникло несколько вопросов, в частности по правильной организации кеша.

Вот к примеру, зц, возьмем список файлов в категории. Я получаю ВЕСЬ список файлов из БД для ТЕКУЩЕЙ КАТЕГОРИИ, этот массив сохраняю в мемкеш, а затем получаю из массива таким способом:
$_view['data'] = array_filter($data['filesList'], function($item) use ($start, $itemsPerPage) {
    return ($item->key >= $start || $item->key < ($start + $itemsPerPage));
});

Вопрос №1 - Верно ли решение? Или лучше делать кеш для каждой страницы отдельно? гг (сомневаюсь)

Идем дальше. Наряду со списком файлов идет просмотр отдельного файла. Тут у меня используется тот же массив что и для списка файлов, ключами которого идут айди файлов.

Вопрос №2 - Верно ли? или лучше делать для каждого файла отдельный кеш?
.
(\/)____o_O____(\/)
# Folour (06.04.2015 / 20:29)
Собственно начинаю работать с мемкешем и возникло несколько вопросов, в частности по правильной организации кеша.

Вот к примеру, зц, возьмем список файлов в категории. Я получаю ВЕСЬ список файлов
return ($item->key >= $start || $item->key < ($start + $itemsPerPage));
что оно у тебя вообще возвращает?
.
Think different
# Koenig (06.04.2015 / 20:35)
return ($item->key >= $start || $item->key < ($start + $itemsPerPage));
что оно у тебя вообще возвращает?
Список файлов в соответствии с текущей страницей гг
.
Folour
Think different
Koenig, У меня формат массива такой:
[
    123 => [
        'id' => 123,
        'name' => 'File 1',
        ...
        'key' => 0 //Позиция файла в изначальном массиве, полученном из БД
    ]
];
.
Think different
Ну только там && а не ||, опечатался
.
(\/)____o_O____(\/)
Folour, имхо перебирать массив все равно время, если в выводе количество на странице не меняется, то сделать для каждой страницы свой кэш, при добавлении файлов обновлять крайнюю страницу, или первую, в зависимости от сортировки, а по поводу файлов, не стоит гиганские данные законять в один ключ, разделяй все по полкам, кучка маленьких будет веселее работать по своему ключу отдаст быстро
.
Think different
При добавлении новых нужно будет весь кеш сбрасывать
.
Think different
В одной категории будет не более 1к файлов
.
(\/)____o_O____(\/)
# Folour (06.04.2015 / 20:45)
При добавлении новых нужно будет весь кеш сбрасывать
то есть новые на первой странице
.
Think different
# Koenig (06.04.2015 / 20:47)
то есть новые на первой странице
ну а остальные? сдвиг то пойдет для всех
Всего: 42