powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Кэширование данных (не страниц!) на asp.net MVC + Angular
6 сообщений из 6, страница 1 из 1
Кэширование данных (не страниц!) на asp.net MVC + Angular
    #39306696
TimeCoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветы,
ситуация такова: есть сайт, на нем статьи и теги. У пользователя есть набор избранных статей, нужно посчитать, сколько у него избранных статей в каждом тэге, и отобразить эту инфу. Запрос будет, видимо, довольно тяжелый, на каждый round-trip считать это тяжело. Как бы закэшировать? Т.е. один раз посчитать, а потом обновлять при добавлении/удалении статей из избранного?
Можно, конечно, просто хранить в сессии - боюсь, с ростом числа пользователей это будет тяжело. Хранить в базе? На клиенте? Может есть какие-то готовые фреймворки?
спасибо
...
Рейтинг: 0 / 0
Кэширование данных (не страниц!) на asp.net MVC + Angular
    #39306756
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TimeCoderХранить в базе
...
Рейтинг: 0 / 0
Кэширование данных (не страниц!) на asp.net MVC + Angular
    #39306776
TimeCoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Monochromatique,
хорошо. Допустим, сам тэг содержит Id и Название, их список получаем (EF) одним запросом. Он легкий, и это происходит при каждом отображении страницы. Хочется в этот же объект добавить поле Counter, но реально, его придется считать хитрее. Получается, что один раз посчитав, придется это где-то отдельно хранить. Либо одной строкой, либо набором объектов Id Тэга - Количество статей.
Первым запросом получили тэги.
Вторым запросом получаем счетчики для них. Вроде не сильно затратно.
Придется видимо добавить в класс тэга поле Counter (отключив мапинг на базу). Или же попробовать его на уровне JS добавить перед рендером. Как-то пробежаться по всем тэгам и из результатов второго запроса проставить цифры. Да уж, много телодвижений.
...
Рейтинг: 0 / 0
Кэширование данных (не страниц!) на asp.net MVC + Angular
    #39306783
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TimeCoderMonochromatique,
хорошо. Допустим, сам тэг содержит Id и Название, их список получаем (EF) одним запросом. Он легкий, и это происходит при каждом отображении страницы. Хочется в этот же объект добавить поле Counter, но реально, его придется считать хитрее. Получается, что один раз посчитав, придется это где-то отдельно хранить. Либо одной строкой, либо набором объектов Id Тэга - Количество статей.
Первым запросом получили тэги.
Вторым запросом получаем счетчики для них. Вроде не сильно затратно.
Придется видимо добавить в класс тэга поле Counter (отключив мапинг на базу). Или же попробовать его на уровне JS добавить перед рендером. Как-то пробежаться по всем тэгам и из результатов второго запроса проставить цифры. Да уж, много телодвижений.

O_O

Просто при добавлении статьи в избранное и удалении её оттуда - вычисляйте агрегат и записывайте его. Показания тегов читайте из агрегата. Вот и всё.
...
Рейтинг: 0 / 0
Кэширование данных (не страниц!) на asp.net MVC + Angular
    #39306792
TimeCoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Monochromatique,
т.е. вы предлагаете в таблицу тэгов добавить поле счетчика, первый раз его заполнить скриптом, а в коде прописать, что при добавлении/удалении статьи из избранного, модифицируем это поле? (т.е. кэшировать ничего не надо)
...
Рейтинг: 0 / 0
Кэширование данных (не страниц!) на asp.net MVC + Angular
    #39306793
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TimeCoderMonochromatique,
т.е. вы предлагаете в таблицу тэгов добавить поле счетчика, первый раз его заполнить скриптом, а в коде прописать, что при добавлении/удалении статьи из избранного, модифицируем это поле? (т.е. кэшировать ничего не надо)

Я предлагаю добавить агрегат. Какие таблицы/поля - это уже детали. Суть - по ID юзера считать из базы теги и счетчики, ничего не вычисляя.

Если это так критично.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Кэширование данных (не страниц!) на asp.net MVC + Angular
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]