ФорумПрограммированиеJavaScript → алгоритмы кеширования

алгоритмы кеширования

  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 8 мая 2008 г. 4:25

    Я не знал как правильно назвать но в общем это еще одна тема для холивара.

    Вобщем читаем тут
    http://mabp.kiev.ua/content/2008/05/08/autocache/
    и пишем что думаем. а еще лучше оставляйте ссылки на описание какихнибудь классных алгоритмов кэширования которые можно на это натянуть

  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 9 мая 2008 г. 7:59, спустя 1 день 3 часа 34 минуты

    что неужели никто не может ничего лучшего предложить?
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 9 мая 2008 г. 8:14, спустя 14 минут 52 секунды

    CTAPbIu_MABP, еще бы выделить время на прочтение твоего труда…
    adw/0
  • ghost

    Сообщения: 883 Репутация: N Группа: Джедаи

    Spritz 9 мая 2008 г. 19:25, спустя 11 часов 10 минут 20 секунд

    Но это все было бы очень хорошо если бы наш бэкэнд (я имею ввиду сайт Киевстара) не возвращал только первых 500 найденных записей на каждый запрос

    хм.. Киевстара.. знакомый оператор) а ты откуда кстати? а по поводу алгоритма.. уместен вопрос если при выборе одной буквы выбирается 1000000 записей, при уточнении (+1 буква) 10000 записей, и т.д сколько пользователей одновременно смогут обратится к страничке.. и при какой посещаемости хостер пошлёт тебя куда-подальше..

    что касаемо кеширования - думаю мускль с этим справится сам. не стоит, имхо, заморачиваться.
  • ghost

    Сообщения: 883 Репутация: N Группа: Джедаи

    Spritz 9 мая 2008 г. 19:30, спустя 5 минут 31 секунду

    вот только причём тут жаб-скрипт)?
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 10 мая 2008 г. 7:32, спустя 12 часов 2 минуты 22 секунды

    ghost, он хочет вынести вычисления на клиент часть, чтобы к серваку не обращаться каждый раз.
    adw/0
  • vasa_c

    Сообщения: 3127 Репутация: N Группа: в ухо

    Spritz 10 мая 2008 г. 7:45, спустя 12 минут 8 секунд

    Используйте не примитивные строки, а объекты String(), тогда элементы массивов будут содержать только ссылки на них.

    Сначала определите до какого уровня нужно держать кэши. Нужны ли "КАР", "КАД" и т.п. или их можно восстанавливать из "КА".

    Когда вы вводите "К", то в ответе сначала возвращаются слова начинающиеся на "КА" (если упорядочивание по алфавиту), потом (если КА не занял всю страницу) начинающиеся на "КБ" и т.д. Возвращайте в этом случае структуры слов на "ка", "кб"… Для последнего, вошедшего на страницу, сочетания так же желательно вернуть общее количество слов в базе. Дальше из этого склеивайте последовательность для "К".

    Оптимальность зависит во многом от того сколько у вас слов и будет ли пагинатор.
  • ghost

    Сообщения: 883 Репутация: N Группа: Джедаи

    Spritz 10 мая 2008 г. 8:03, спустя 18 минут 46 секунд

    выгружать на клиентский комп 1000000 записей для 1-й буквы?????????
  • vasa_c

    Сообщения: 3127 Репутация: N Группа: в ухо

    Spritz 10 мая 2008 г. 9:37, спустя 1 час 33 минуты 59 секунд

    Нет. С постраничным лимитом
  • ghost

    Сообщения: 883 Репутация: N Группа: Джедаи

    Spritz 10 мая 2008 г. 9:56, спустя 18 минут 53 секунды

    тогда выгружая например для той же 1-й "К" с лимитом например 30 мы выгрузим 30 слов, начинающихся на "ка", что не даст абсолютно никаких преимуществ если следующая буква будет скажем "е"
  • vasa_c

    Сообщения: 3127 Репутация: N Группа: в ухо

    Spritz 10 мая 2008 г. 9:59, спустя 2 минуты 31 секунду

    Мы по всякому загружая слова на "К" будем загружать слова на "КА", так почему бы сразу и не запомнить?
  • ghost

    Сообщения: 883 Репутация: N Группа: Джедаи

    Spritz 10 мая 2008 г. 10:16, спустя 17 минут 20 секунд

    ну может тогда имеет смысл их еще и в куках запоминать?. чтоб при обновлении запросы не дублировались.
    и где-нить хранить дату последнего обновления таблицы, чтоб при необходимости куки угрохать
  • vasa_c

    Сообщения: 3127 Репутация: N Группа: в ухо

    Spritz 10 мая 2008 г. 10:22, спустя 5 минут 46 секунд

    излишне
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 11 мая 2008 г. 6:03, спустя 19 часов 41 минуту 33 секунды

    хм.. Киевстара.. знакомый оператор) а ты откуда кстати?

    Киев)

    сколько пользователей одновременно смогут обратится к страничке

    Меня не интересует перформанс сервера, меня интересует перформанс клиента, если он на диалапе то качать туда-сюда 1000 записей всетакие не очень приятно. Кстати по поводу сервера там не мускул а оракл, и это не хостер а выделенная площадка.

    Используйте не примитивные строки, а объекты String(), тогда элементы массивов будут содержать только ссылки на них.

    с этого места поподробнее можно?

    Дальше из этого склеивайте последовательность для "К"

    я думаю это излишне, склеивание я пожалуй реализовывать не буду
  • vasa_c

    Сообщения: 3127 Репутация: N Группа: в ухо

    Spritz 11 мая 2008 г. 11:52, спустя 5 часов 48 минут 30 секунд

    с этого места поподробнее можно?


    В теории:

    var str = "Строка"; // str содержит примитивное значение строки.
    var str2 = str; // Копирование всей строки в нужную переменную.

    var str = new String("Строка"); // Создание объекта String в памяти и запись ссылки на него в str.
    var str2 = str; // Копирование ссылки на объект. Объект остаётся один.


    На практике: внутри каждого конкретного JS-движка возможно использование отложенного копирования для оптимизации первого варианта.

    Так что в идеале нужно протестировать все браузеры на тему, будет ли где-нибудь выигрыш.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!