我正在开发一个具有可扩展性的我的项目,我已经走到了一个十字路口.在我的网站上,我想检测用户是否在线.我无法想到处理这个问题的最佳方法.我想的方式就是沿着这些方向(在伪代码中):
// SQL user table:
user {
"name": "blah blah",
"email": "derpy@derpyderp.com",
"online": false
}
Run Code Online (Sandbox Code Playgroud)
因此,每当用户登录时,我都可以将其online列更新为true.然而,这最终会导致每次用户登录时发生SQL查询,如果发生这种情况,我会说,每秒10次登录,那就是发生了很多查询.另一种方式我认为我可以做同样的事情,但在另一个表中:
// Activity table:
activity {
"user_id": 2,
"online": true
}
Run Code Online (Sandbox Code Playgroud)
出于某种原因,我认为由于与user表的分离,这将导致更少的内存消耗.但是我不确定它是否会对性能产生任何实际影响.
所以,如果你能用你的见解祝福我,我会更感激,谢谢你.
我正在尝试着色我的python解释器,以帮助在视觉上分离文本噪音.因此,如果我启动交互式python,它会给我纯文本.我可以做这个:
import sys
sys.ps1 = "\033[0;34m>>> \033[0m"
sys.ps2 = "\033[1;34m... \033[0m"
Run Code Online (Sandbox Code Playgroud)
但是,如果我退出解释器并返回值,则恢复为默认值,这丝毫不足为奇.我的问题是如何保存这些值并将其用作默认值?
我正在开发一个需要会话而不是cookie的项目,我想知道保护它们的好方法是什么?使用cookies我会做这样的事情:
$x = serialize(array('username', sha1('pwd')));
setcookie('cookieName', $x, time()+60);
...
$myCookie = unserialize($_COOKIE['cookieName']));
echo $myCookie[0];
Run Code Online (Sandbox Code Playgroud)
但我不太确定如何通过会话来解决这个问题.