2

Web アプリケーションでデータを匿名ユーザーに関連付ける方法として推奨される方法、または単純に試行錯誤した方法についてのヒントを探しています。ユーザーが複数のセッションでデータを利用できるようにしたいので、データベースに保存します。

明らかに、そのユーザーを識別するためにある種の Cookie が必要になります。私が特に関心を持っているのは、この匿名識別子と実際のデータとの間のリンクを管理する方法です。これまでのところ、次の 2 つのオプションを検討しています。

  1. 一意の訪問者ごとに永続的な匿名ユーザーを作成します。この方法では、データが匿名ユーザーに属しているか登録済みユーザーに属しているかを気にする必要はなく、ユーザーに属しているだけです。
  2. 独自の一意の Cookie 値を使用してデータに関連付ける、データ用のある種のラッパー/マネージャーを用意します。

#1 の主な問題は、作成されるユーザーの数です。テーブルをクリーンアップするために 24 時間ごとにスクリプトを実行するのは簡単ですが、それでも 1 日に数千行 (できれば!) を作成できます。#2では、データに固有の匿名/Cookieベースのインフラストラクチャを構築する必要がありますが、同じ機能を必要とする他のデータセットがある場合はどうなりますか.

これを行う方法について、ベストプラクティスのアドバイスはありますか? 私はNHibernateを使用してASP.NET MVCで作業していますが、どのプラットフォームからの概念やアイデアも役立ちます。

4

2 に答える 2

1

次の 2 つの理由から、匿名ユーザーを永続化することは意味がありません。

  1. ここで今日は明日になりました。孤立した行がたくさん残るので、時々レーキする必要があります
  2. DB に永続化することは、これらのユーザーに対して多くのカスタマイズを行うことができることを意味します。これは、Cookie によってすべてがハングしているため、悪い考えです。

Cookie を追跡するためだけでなく、データ ストアとしても使用することをお勧めします。または、登録ユーザーとは別に処理するオプション 2。

于 2009-04-07T15:35:57.390 に答える
0

私はおそらくケース 1 に行きます。1 日に数千行は少量のデータであり、心配する必要はありません。これは、動作させるだけで、後でパフォーマンスについて心配する (おそらく決してない) ケースの 1 つに思えます。

おそらくそれをクリアすることはできず、それでも問題に遭遇することはありません.

于 2009-04-07T14:58:25.670 に答える