您好我试图在Google上找到我的问题的答案,但我不能......我的意思是我可以找到答案,我不能做我想做的事情......
我想要一个脚本,它计算我网站上有多少用户在线,但是这个脚本应该计算访客数,所以我创建了一个会话数据库,这个脚本为用户提供了一个ID并设置了30分钟的会话,以及现在我有一个问题,因为如果他不活动超过30分钟,他应该从数据库中删除,因为我想通过ID计算有多少用户在线,我很头疼我怎么能这样做。
有一种简单的方法吗?
对不起我的英语,但我希望你明白我的意思。
答案 0 :(得分:6)
正如Barmar在their answer here中所述:
DELETE FROM my_table WHERE timestamp < NOW() - INTERVAL 30 MINUTE
编写执行此SQL的PHP脚本,并添加crontab条目 每30分钟运行一次。或者使用MySQL Event Scheduler运行 它定期;它被描述为here。
答案 1 :(得分:0)
由于您没有特别提及任何数据库,因此我将大致介绍如何实现它:
你可以有一个这样的表:
USER_SESSIONS
(
USER_ID //UNIQUE_ID
LAST_ACTIVE //TIMESTAMP
)
以下是您可以关联以实现会话的功能:
FOR each entry in USER_SESSIONS If (CURRENT_TIMESTAMP - LAST_ACTIVE) > [30 mins] then delete the entry of the corresponding user from this table. //This will essentially cause a session timeout. End If LOOP;
我希望你对如何实现它有一个很好的了解。
快乐编码:)