Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Кэширование данных (не страниц!) на asp.net MVC + Angular
|
|||
|---|---|---|---|
|
#18+
Приветы, ситуация такова: есть сайт, на нем статьи и теги. У пользователя есть набор избранных статей, нужно посчитать, сколько у него избранных статей в каждом тэге, и отобразить эту инфу. Запрос будет, видимо, довольно тяжелый, на каждый round-trip считать это тяжело. Как бы закэшировать? Т.е. один раз посчитать, а потом обновлять при добавлении/удалении статей из избранного? Можно, конечно, просто хранить в сессии - боюсь, с ростом числа пользователей это будет тяжело. Хранить в базе? На клиенте? Может есть какие-то готовые фреймворки? спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2016, 15:47 |
|
||
|
Кэширование данных (не страниц!) на asp.net MVC + Angular
|
|||
|---|---|---|---|
|
#18+
TimeCoderХранить в базе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2016, 16:41 |
|
||
|
Кэширование данных (не страниц!) на asp.net MVC + Angular
|
|||
|---|---|---|---|
|
#18+
Monochromatique, хорошо. Допустим, сам тэг содержит Id и Название, их список получаем (EF) одним запросом. Он легкий, и это происходит при каждом отображении страницы. Хочется в этот же объект добавить поле Counter, но реально, его придется считать хитрее. Получается, что один раз посчитав, придется это где-то отдельно хранить. Либо одной строкой, либо набором объектов Id Тэга - Количество статей. Первым запросом получили тэги. Вторым запросом получаем счетчики для них. Вроде не сильно затратно. Придется видимо добавить в класс тэга поле Counter (отключив мапинг на базу). Или же попробовать его на уровне JS добавить перед рендером. Как-то пробежаться по всем тэгам и из результатов второго запроса проставить цифры. Да уж, много телодвижений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2016, 17:06 |
|
||
|
Кэширование данных (не страниц!) на asp.net MVC + Angular
|
|||
|---|---|---|---|
|
#18+
TimeCoderMonochromatique, хорошо. Допустим, сам тэг содержит Id и Название, их список получаем (EF) одним запросом. Он легкий, и это происходит при каждом отображении страницы. Хочется в этот же объект добавить поле Counter, но реально, его придется считать хитрее. Получается, что один раз посчитав, придется это где-то отдельно хранить. Либо одной строкой, либо набором объектов Id Тэга - Количество статей. Первым запросом получили тэги. Вторым запросом получаем счетчики для них. Вроде не сильно затратно. Придется видимо добавить в класс тэга поле Counter (отключив мапинг на базу). Или же попробовать его на уровне JS добавить перед рендером. Как-то пробежаться по всем тэгам и из результатов второго запроса проставить цифры. Да уж, много телодвижений. O_O Просто при добавлении статьи в избранное и удалении её оттуда - вычисляйте агрегат и записывайте его. Показания тегов читайте из агрегата. Вот и всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2016, 17:23 |
|
||
|
Кэширование данных (не страниц!) на asp.net MVC + Angular
|
|||
|---|---|---|---|
|
#18+
Monochromatique, т.е. вы предлагаете в таблицу тэгов добавить поле счетчика, первый раз его заполнить скриптом, а в коде прописать, что при добавлении/удалении статьи из избранного, модифицируем это поле? (т.е. кэшировать ничего не надо) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2016, 17:33 |
|
||
|
Кэширование данных (не страниц!) на asp.net MVC + Angular
|
|||
|---|---|---|---|
|
#18+
TimeCoderMonochromatique, т.е. вы предлагаете в таблицу тэгов добавить поле счетчика, первый раз его заполнить скриптом, а в коде прописать, что при добавлении/удалении статьи из избранного, модифицируем это поле? (т.е. кэшировать ничего не надо) Я предлагаю добавить агрегат. Какие таблицы/поля - это уже детали. Суть - по ID юзера считать из базы теги и счетчики, ничего не вычисляя. Если это так критично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2016, 17:39 |
|
||
|
|

start [/forum/topic.php?fid=18&tid=1355751]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 260ms |
| total: | 398ms |

| 0 / 0 |
