Постоянные данные в веб-приложении - PullRequest
3 голосов
/ 18 января 2011

Каков наилучший способ хранения постоянных данных?Я хочу сэкономить время, когда пользователь был последним активным на странице. Сначала я использовал локальное хранилище, затем переключился на файлы cookie, потому что это казалось более простым в использовании, теперь я думаю о сохранении его в базе данных.

Не могли бы вы также предложить хороший способ регистрации, когда пользователь покинул страницу?

Ответы [ 3 ]

3 голосов
/ 18 января 2011

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

Если ваш веб-сайт, вероятно, будет доступен с одного и того же компьютера / браузера при каждом посещении пользователемваш сайт, то куки должны делать эту работу.Нет необходимости в локальном хранилище, так как это больше подходит для больших кусков данных.Кроме того, пользователь может использовать браузер, который не поддерживает локальное хранилище.Файлы cookie существуют уже много лет и будут работать практически на всех браузерах и устройствах.

Если ваш веб-сайт, тем не менее, будет доступен с разных устройств, скажем, домашний компьютер, офисный компьютер и, возможно, смартфон тоже, тогдаВы должны подумать о серверном решении, используя учетную запись пользователя.Но убедитесь, что пользователь действительно извлекает выгоду из усилий по созданию учетной записи пользователя (возможно, с использованием OpenID, например stackoverflow).В противном случае вы рискуете успехом своего веб-сайта.

Короче ... это скорее дизайнерское решение, знайте своих пользователей и определяйте, чего вы пытаетесь достичь.

2 голосов
/ 18 января 2011

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

Однако, в случае хранения доменных данных, таких как имена пользователей, пароли, электронные письма, избранноеи т.д., вы действительно можете использовать реляционную базу данных (RDBMS), такую ​​как MySQL, MS SQL или PostgreSQL.Они пригодны для обработки огромных объемов данных и множества полезных функций, таких как транзакции, эффективность, гибкость.

0 голосов
/ 18 января 2011

Если вам нужно сохранить другую информацию о пользователях, я бы сказал, чтобы сохранить эту информацию в базе данных вместе с другой информацией, то есть вы могли бы добавить поле «last_time» в таблицу базы данных пользователей. Если вы вместо этого не используете БД (очень странно), добавление ее только для хранения этой информации может быть немного преувеличено. Не могли бы вы немного рассказать, КАК вы должны использовать эту информацию? Использование файлов cookie позволяет получить к ним доступ только тогда, когда пользователь подключен к сайту, поэтому я не думаю, что это лучшее решение.

В общем, в любом случае, я думаю, что SQL - лучший выбор.

...