Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Kiểm tra những gì người dùng đang trực tuyến

Cách tôi làm là ping định kỳ một trình xử lý đặc biệt bằng AJAX (một lần trong 30 giây). Đó là rất nhiều yêu cầu, vì vậy thay vì cập nhật bảng người dùng trực tuyến mỗi lần với lần truy cập cuối cùng, tôi đang cập nhật memcache. Tôi chỉ cập nhật bản ghi cơ sở dữ liệu khi nó chậm hơn bản ghi memcache 5 phút (bạn có thể chọn độ trễ lớn hơn hoặc nhỏ hơn tùy thuộc vào tải). Sau đó, cron job sẽ xóa các bản ghi cũ khỏi bảng người dùng trực tuyến.

Để kiểm tra xem một người dùng cụ thể có trực tuyến hay không, tôi chỉ cần kiểm tra bản ghi memcache của anh ta. Sai số không bao giờ quá 30 giây. Cơ sở dữ liệu không bao giờ chậm quá 5 phút, vì vậy kết quả từ cơ sở dữ liệu cũng khá chính xác.

Tôi cũng sử dụng các yêu cầu định kỳ này để đẩy các sự kiện tới người dùng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Số nguyên dài được chuyển đổi khi được chèn vào cột ngắn hơn, không bị cắt ngắn. Tại sao? Công thức là gì?

  2. Sử dụng từ khóa SQL trong tiêu đề của bảng hoặc cột

  3. Mysql Tạo cơ sở dữ liệu với các ký tự đặc biệt trong tên

  4. Lưu trữ các quyền của ứng dụng trong cơ sở dữ liệu

  5. Đối sánh chuỗi truy vấn SELECT trong MySQL