人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ログインプログラムを作っております。

そこのプログラムに、ログインしている人数を表示させたいと思っておりますが、一般的にはそういったデータはどの様に管理してますでしょうか?

出来れば、DBを使わない方向で進めたいのですが。。。

●質問者: makocan
●カテゴリ:インターネット ウェブ制作
✍キーワード:dB データ プログラム ログイン 管理
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ●
●35ポイント

「一般的に」となるか分かりませんが、オンライン人数を表示するプログラムとして有名なXOOPSでは、オンラインユーザを管理するDBを持ち、ログイン時にそのDBにユーザ情報(ID、ユーザ名、ログイン時間など)をINSERTし、適当なタイミングでDELETEしてます。

DELETEされていない状態で再度ログインされた場合、UPDATEして情報を更新しています。

そのあたりの流れは、XOOPSのソースコードをダウンロードし、

あたりを確認すれば分かると思います。

DBを使わずに同様の情報をテキストファイル(CSVなど)で管理することも不可能ではないと思いますが、パフォーマンスを考慮するとDBを使った方が良いと思います。

[参考URL]

少しでも参考になれば幸いです。

(他の方からベターな提案があると良いですね。)


2 ● bathrobe
●35ポイント

内部の処理が「一般的」かどうかは、分からないものでは?と思います。

DBを使わないのであれば、こんな手法が考えられます。

・ログインしている人を管理するための、データディレクトリを作る

・ログインしたら、データディレクトリにファイル名がユーザーID名の空ファイルを作る

・ログイン後の操作をするたびに、空ファイルを上書きする(ファイルの更新時間のアップデート)。

・ログアウトしたら、空ファイルを消す。

・ログインしている人数は、空ファイルの数とする。

ただし、空ファイルの数を数えるときに、ファイルの更新時間が古いもの(たとえば10分以上)はそのファイルを削除し、人数にはカウントしない(ログアウトしたとみなす)。

ただしこの方法それほど人数が多くない(100人程度)場合向けの簡易的な方法。

数千人になると破綻しそうです。

URLはダミーです。

http://q.hatena.ne.jp/answer

◎質問者からの返答

お二人方ありがとうございます。

参考になりました。

やはり、DBを使う方法で行こうと思います。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ