ФорумПрограммированиеPHP для идиотов → Позакешировать виджеты, которые появляются в случайном порядке

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

  • phpdude

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

    Spritz 20 марта 2012 г. 21:27, спустя 1 час 5 минут 39 секунд

    действительно ОРМ не тема
    Сапожник без сапог
  • Ivan

    Сообщения: 1316 Репутация: N Группа: Адекваты

    Spritz 20 марта 2012 г. 21:59, спустя 32 минуты 9 секунд

    тему перепутал :D
  • Sinkler

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

    Spritz 20 марта 2012 г. 22:02, спустя 2 минуты 57 секунд

    Ivan, оскверняешь тему про виджеты!
  • Ivan

    Сообщения: 1316 Репутация: N Группа: Адекваты

    Spritz 20 марта 2012 г. 22:06, спустя 3 минуты 48 секунд

    Паскаль мне в резюме за это
  • phpdude

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

    Spritz 20 марта 2012 г. 22:11, спустя 4 минуты 47 секунд

    Ivan, ИТЕРАТОР В АНУС!
    Сапожник без сапог
  • kostyl

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

    Spritz 20 марта 2012 г. 22:20, спустя 9 минут 49 секунд

    первая глупая мысль, что приходит в голову (в стиле костыля мысль, кстати) - в промежуточные таблицы херачить что-то а ля юзер-виджет-доступные_айдишники

    теперь ты понял почему у меня такие мысли - я ебал думать и говорю что первое пришло )))

    Абырвалг,  попробуй закешировать только самые напряжные вещи, возьми среднестатистическую операцию, допустим там 12 запросов. Закешируй 30%, т.е. 4 запроса. Если у тебя выигрышь в производительности будет больше чем процент кеширования, то это хороший вариант.
  • Абырвалг

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

    Spritz 20 марта 2012 г. 22:37, спустя 16 минут 17 секунд


    Абырвалг, а почему мы на мускуле? :-)

    пока не дошли руки сделать тесты, насколько другие варианты будут быстрее. Сейчас все эти виджеты завязаны на то, что в них будут приходить нормальные такие сущности - User, Meet, Group. Перевести все, что связанно с этими сущностями на no-sql не получится. То есть в лучшем случае мы одним запросом выдернем айдишник из быстрого хранилища, а вторым полезем в мускл для выборки сущности по ПК.

    Для рандомных выборок думаю отлично подойдет http://redis.io/commands/srandmember . Через него мы выберем по одной случайной группе/встрече/юзеру - найдем доступные советы. После выберем случайный совет и уже для него сделаем только 1 запрос в БД по ПК. Неплохо вроде получается, да?

    kostyl, тоже интересная мысля
  • NRG

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

    Spritz 20 марта 2012 г. 23:07, спустя 30 минут 5 секунд


    Паскаль мне в резюме за это
    оригинально))))) еще не слышал такого =))
  • Абырвалг

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

    Spritz 20 марта 2012 г. 23:24, спустя 17 минут 27 секунд

  • Ivan

    Сообщения: 1316 Репутация: N Группа: Адекваты

    Spritz 20 марта 2012 г. 23:55, спустя 30 минут 31 секунду

    ну вот, спалился
  • Sinkler

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

    Spritz 21 марта 2012 г. 1:01, спустя 1 час 6 минут 44 секунды

    чотко
  • krasun

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

    Spritz 23 марта 2012 г. 2:36, спустя 2 дня 1 час 34 минуты

    формируем список доступных и выгребаем случайный

    А если выгребать сразу случайный? Если не available, то еще раз выбрать, а если нет, то какой-то дефолтный совет.


  • Абырвалг

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

    Spritz 23 марта 2012 г. 2:45, спустя 9 минут 8 секунд

    та не, работодатель не одобрит. Ну я уже понял как это будет

    Для рандомных выборок думаю отлично подойдет http://redis.io/commands/srandmember . Через него мы выберем по одной случайной группе/встрече/юзеру - найдем доступные советы. После выберем случайный совет и уже для него сделаем только 1 запрос в БД по ПК. Неплохо вроде получается, да?

    Спустя 81 сек.
    O(1) - ваще яд
    Спустя 35 сек.
    охуенно, когда можешь выбирать технологии, с которыми работать и никто поперек слова не скажет. В разумных пределах, конечно

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