检查用户是否已登录的备用方法

时间:2012-10-26 17:08:08

标签: php html logging login timestamp

我使用mysql检查用户是否已登录,但我收到了来自我的托管公司的电子邮件,说我已经超出了mysql查询限制,并且将mysql查询限制升级到每小时150000的成本是$ 240元/年。

现在,我需要另一种方法来检查用户是否登录,比如在文件中写入用户的时间戳,但我不知道最好的方法...而且我甚至都不知道知道我在这篇文章中放了哪些标签...

那么,你能帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:5)

使用$_SESSION。它的效率提高了1000倍,专为此目的而设计。 Read about it here

答案 1 :(得分:1)

升级(或从成本角度降级)到根服务器和/或使用更好的机制来存储会话。即memcache,couchdb或mongodb。

在每种情况下,如果你离开PHP的会话处理程序,你必须手动处理信号量。

答案 2 :(得分:0)

你的主机有一个mysql查询限制,但回到你的问题是很奇怪的;

我会猜测你不只是试图查看用户是否在本地登录,而是让另一个帐户看到用户已登录,这需要数据库调用,而不是$ _SESSION(这是基于每个用户维护的。)

但是,如果我们假设您要在数据库之外执行此操作,则可以在用户登录或注销时生成最终HTML结果。使用用户的状态在数据库中保留一个表,但每当用户登录或注销时,对该表进行一次查询,然后生成您登录用户的HTML列表。将输出保存到文件,当您需要呈现页面时,请包含该文件而不是进行数据库调用。

它并没有完全删除MySQL数据库,但它相当可靠,并且应该显着减少数据库查询的数量。

相关问题