スケーラビリティを念頭に置いてプロジェクトを開発していますが、岐路に立っています。私の Web サイトで、ユーザーがオンラインかどうかを検出したいと考えています。そして、これを処理する最善の方法がまったく思い浮かびません。私が考えていた方法は、これらの行に沿ったものです(疑似コードで):
// SQL user table:
user {
"name": "blah blah",
"email": "derpy@derpyderp.com",
"online": false
}
したがって、ユーザーがログインするたびに、彼のonline
列を に更新できますtrue
。ただし、最終的には、ユーザーがログインするたびに SQL クエリが発生することになり、1 秒あたり 10 回のログインとなると、大量のクエリが発生します。別のテーブルで同じことを行うことができると私が考えた別の方法:
// Activity table:
activity {
"user_id": 2,
"online": true
}
何らかの理由で、テーブルから分離されているため、メモリ消費量が少なくなると思いuser
ます。ただし、パフォーマンスに実際に影響があるかどうかはわかりません。
ですから、あなたの洞察力で私を祝福していただければ、私はさらに感謝します、ありがとう.