Natalia Baženova, там больше проблема в том, что статистика должна считаться за каждый день для каждой страницы. При просмотре статистики можно выбрать период просмотра выборки. И тут уже как-то костылями крыть это всё. А записывать в БД можно всё что угодно, хоть даже IP адреса юзеров, только по какой дате их записать? Какой страницы?
И да, вы тут забываете ещё о защите от Ctrl + R или подобных действий
Остался вопрос, как правильно будет прикрутить, что бы оно каждый день отдельный закидывало в БД?
Имею ввиду, я подумал, что лучшим вариантом будет хранить тип [id, views, date, pageId]. При просмотре страницы брать рекорд по id соответствующей страницы + текущая data и делать инкремент количества просмотров. Так мы сможем изолировать состояние статистических данных на уровне БД и не будем выносить это на уровень приложения
А далее я не знаю как его правильно реализовать.
Я решил прикрутить BackgoundService, который каждый день ровно в 00:01 будет вносить в БД новые записи о всех продуктах по Id. Т.е., будут брать ВСЕ id ВСЕХ страниц и под каждую страницу создаваться новый рекорд в БД с указанием id этой страницы + текущая дата. Что-то типа Bulk запроса (Для PostgreSql, который я юзаю, такого нет, по этому там либо json/jsonb (под Dapper) , либо цикл)
И вот с этим пунктом уже запутался. Вроде бы должно работать, но пока не уверен в правильности реализации.
Refguser, причём тут работа с бд... Господи, что ты несёшь? При чём тут фриланс?
Умник, почему ты находишься на форуме? Судя по твоим вопросам ты не знаешь что такое css? У вас вот вопрос по css. Вы что, не знаете о сущестовании фриланса? Как вы посмели вопрос то тут задать? Идите на фриланс, там вопросы задавай умник
Спасибо, уже часть реализовал. Остался вопрос, как правильно будет прикрутить, что бы оно каждый день отдельный закидывало в БД?
Имею ввиду, я подумал, что лучшим вариантом будет хранить тип [id, views, date, pageId]. При просмотре страницы брать рекорд по id соответствующей страницы + текущая data и делать инкремент количества просмотров. Так мы сможем изолировать состояние статистических данных на уровне БД и не будем выносить это на уровень приложения
А далее я не знаю как его правильно реализовать.
Я решил прикрутить BackgoundService, который каждый день ровно в 00:01 будет вносить в БД новые записи о всех продуктах по Id. Т.е., будут брать ВСЕ id ВСЕХ страниц и под каждую страницу создаваться новый рекорд в БД с указанием id этой страницы + текущая дата. Что-то типа Bulk запроса (Для PostgreSql, который я юзаю, такого нет, по этому там либо json/jsonb (под Dapper) , либо цикл)
И вот с этим пунктом уже запутался. Вроде бы должно работать, но пока не уверен в правильности реализации.
Refguser, так вопрос о реализации, а не о том, куда мне это закидывать. Если есть нормальный вариант реализации, я с радостью почитаю. А эти расскажи о существовании БД просто пустой диалог
ThunderCat, ну, я не могу сказать, использует ли этот человек один запрос или много. fetch однозначно будет проще использовать, но я привёл пример с jquery ¯\_(ツ)_/¯
сергей кузьмин, очень странное заявление? При чём тут язык программирования? Какой именно язык программирования вы хотите предложить мне выучить? Вы хотите заявить, что моё не знания (Либо знание) языка программирования, о каком вы хотите заявить как-то влияет на моё незнание sql запросов?