sql >> データベース >  >> RDS >> Mysql

オンラインのユーザーを確認する

    私のやり方は、AJAXを使用して特別なハンドラーに定期的にpingを実行することです(30秒に1回)。これは非常に多くのリクエストであるため、last-visitで毎回オンラインユーザーテーブルを更新する代わりに、memcacheを更新しています。データベースレコードを更新するのは、memcacheレコードから5分遅れている場合のみです(負荷に応じて、より大きな遅延またはより小さな遅延を選択できます)。次に、cronジョブは、オンラインユーザーテーブルから古いレコードを削除します。

    特定のユーザーがオンラインであるかどうかを確認するには、彼のmemcacheレコードを確認するだけです。エラーが30秒を超えることはありません。データベースが5分以上遅れることはないため、データベースの結果もかなり正確です。

    また、これらの定期的なリクエストを使用して、イベントをユーザーにプッシュします。



    1. KubernetesでのヘルパーコンテナとしてのProxySQLの実行

    2. SQLiteで外部キー違反を見つける

    3. SQL Server(T-SQL)のdatetimeoffset値のタイムゾーンオフセットを変更する

    4. REGEXPのパフォーマンス(LIKEおよび=と比較してください)