Лучшая практика для управления данными анонимных пользователей - PullRequest
2 голосов
/ 07 апреля 2009

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

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

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

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

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

Ответы [ 2 ]

1 голос
/ 07 апреля 2009

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

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

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

0 голосов
/ 07 апреля 2009

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

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

...