在学校写过登陆模块,账号密码每次传递到服务器再通过查询数据库比对是否存在该用户,存在那么账号密码是否正确?
而我们的数据量往往很小,查询肯定快。但是当用户百万级,千万级,登陆模块是通过什么方式快速判定一个用户的账号密码正确呢?
以我玩的一个手机游戏为例子,上面没有记住密码选项,但是每次我打开,也无需再输入密码,我只要按登陆即可,速度十分快,但是我如果我把账号改一个数字时,判定错误的速度也十分快,几乎是即点即出错。而我玩过许多游戏,验证的速度也是快到即点即进,难道说账号密码传到服务器经判定再传回来这种方式本身就十分快?
想问一下,这样的账号和密码是保存在本地吗(然后密码是加密的?)?还是说有其他的方法?
服务器api加速技术。这些有很多方面,数据方面,使用高速缓存,请求方面,使用负载均衡。内容很多,具体问题具体处理
你大学数据结构学习过没有?查找算法除了最呆的线性查找(从头找到尾)还有二分查找,hash查找,红黑树。比如说二分查找,它的性能是Log2N
什么意思呢,如果你的数据是1行,查找1次,2行,查找2次,4行查找3次,8行,查找4次,16行,查找5次……1024行,查找10次,42亿行,查找32次……
计算机每秒钟可以执行几亿的查找,因此即便数据有几亿,也就是0.00000几秒就找到了。