Лучшая практика для управления данными анонимных пользователей

Я ищу любые подсказки о рекомендуемых или просто опробованных и протестированных способах связывания данных с анонимным пользователем в веб-приложении. Я хочу, чтобы данные были доступны пользователям в течение нескольких сеансов, поэтому сохраните их в базе данных.

Очевидно, что для идентификации этого пользователя мне понадобятся какие-то cookie-файлы, особенно меня интересует, как управлять связью между этим анонимным идентификатором и фактическими данными. Пока что я изучаю два варианта:

  1. Создание постоянного анонимного пользователя с каждым уникальным посетителем. Таким образом, мои данные не должны заботиться о том, принадлежит ли они анонимному пользователю или зарегистрированному, они просто принадлежат пользователю.
  2. Иметь какую-то оболочку / менеджер для данных, которые используют свое уникальное значение cookie для связи с данными.

Главная проблема с #1 - количество создаваемых пользователей. Запускать сценарий каждые 24 часа для очистки таблицы было бы легко, но я все еще мог бы создавать тысячи (надеюсь!) Строк в день, сохраняя их, скажем, 14 дней, что приведет к большому. С помощью #2 мне нужно создать анонимную / основанную на cookie инфаструктуру, специфичную для данных, но что происходит, когда у меня есть другие наборы данных, которые нуждаются в той же функциональности.

Есть ли у кого-нибудь лучшие рекомендации о том, как это можно сделать? Я работаю в ASP.NET MVC с NHibernate, но были бы полезны концепции и идеи для любой платформы.

2 ответа

Сохранять анонимного пользователя не имеет смысла по двум причинам:

  1. Здесь сегодня прошло завтра. Вы останетесь с множеством осиротевших рядов, которые вам придется время от времени разгребать
  2. Сохранение в БД подразумевает, что вы можете сделать много настроек для этих пользователей, что является плохой идеей, потому что все это зависает от cookie

Я бы предложил использовать куки не только для их отслеживания, но и в качестве хранилища данных. Или второй вариант, где вы обрабатываете их отдельно от зарегистрированных пользователей.

Я бы, наверное, пошел к случаю 1. Несколько тысяч строк в день - это небольшой объем данных, а не то, о чем вам следует беспокоиться. Это звучит как один из тех случаев, когда вы просто работаете и беспокоитесь о производительности позже (вероятно, никогда).

Вы, вероятно, никогда не сможете это выяснить и все равно никогда не столкнетесь с проблемами

Другие вопросы по тегам