访问量很大的网站,登录验证都是怎么做的啊?
是不是每次用户提交用户名和密码,都要从数据库查一下比对是否正确呢?如果是从数据库直接查,这样的话压力是不是很大啊,有没有用到缓存技术的呢...
是不是每次用户提交用户名和密码,都要从数据库查一下比对是否正确呢?
如果是从数据库直接查,这样的话压力是不是很大啊,有没有用到缓存技术的呢 展开
如果是从数据库直接查,这样的话压力是不是很大啊,有没有用到缓存技术的呢 展开
9个回答
展开全部
用户数量不多的话,一般还没多大影响。但是用户数量多了话,就必须用cache了
你可以 先写一个cache 把对应的用户名和密码先存到cache里面(这个是服务器里面的cache,跟你前台JS 里面的缓存不一样。JAVA 有cache的机制 ),然后直接call一个接口就可以进行校验了,不需要多次访问数据库。这样 就可以大大的减少你对数据库的访问量。
当然 你也可以利用一些第三方的工具, 如 solr。 把你数据库的数据直接import 到solr里面,直接对solr 进行查询就可以了,这个还比数据库查询跟快速。
但是, 记得,任何cache ,在你DB 发生改变了之后,要及时update ,要不人家注册一个用户,结果会登录不进去
你可以 先写一个cache 把对应的用户名和密码先存到cache里面(这个是服务器里面的cache,跟你前台JS 里面的缓存不一样。JAVA 有cache的机制 ),然后直接call一个接口就可以进行校验了,不需要多次访问数据库。这样 就可以大大的减少你对数据库的访问量。
当然 你也可以利用一些第三方的工具, 如 solr。 把你数据库的数据直接import 到solr里面,直接对solr 进行查询就可以了,这个还比数据库查询跟快速。
但是, 记得,任何cache ,在你DB 发生改变了之后,要及时update ,要不人家注册一个用户,结果会登录不进去
展开全部
账号、密码一般都是数据库验证的
其他格式、验证码之类的客户端完成就好了
访问量大也要访问数据的,单次查询能接受的,量大就要考虑其他方面的扩展了
其他格式、验证码之类的客户端完成就好了
访问量大也要访问数据的,单次查询能接受的,量大就要考虑其他方面的扩展了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不用数据库局对比 直接在客户端 设置的 学编程的时候会学到算法 然后验证码就是数字加字母的组合获取 或者你也可以改成图片 网上收收就能查到 挺简单的
追问
我的意思是用户名和密码怎样判断是否是正确的,是不是直接从数据库查出来,然后比对的
追答
恩恩 用户名 密码判断的时候就是从数据库查出来的 肯定回复你 是! 缓存技术应该不用 因为用户名 密码 可以再用户端这一方设置识别什么样的用户名和密码 例如密码第三位是一个“@” 然后输入密码的时候只要第三位不是@ 密码框后面 或者页面会直接弹出错误提示 那样就会减轻很多压力 例如有的登陆密码会提示你输入字母和数字结合 不允许出现特殊字符 出现特殊字符就会报错 这样的话服务器端的压力就会小一些
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
密码肯定要对比才能知道对还是错啦,要不就直接查询数据库,要不就来个缓存,要不就把部分或者全部密码读进内存,不过我觉得你提的这个问题没多大意义~呵呵
追问
不是啊,我现在就是不知道该怎么办啊,网站访问量过大的情况下,我直接读库怕压力太大,其实我就想知道有没有现成的用过缓存的先例。。。
追答
......................................~难道访问量大,你提高登录的那么点速度就可以了?难道除了登录之外其他操作都不会涉及数据库操作?这个缓存反正我没做过,看实际情况啊,要做应该也可以吧~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当然要啊!要不然你怎么知道这个用户的合法性。。。
追问
那用户量很大的情况下,查数据库是不是很慢啊
追答
那是另外的一回事啦。。。你可以进行数据库集群,进行硬件升级,使用缓存或使用代理服务器!
还要进行sql查询的优化!用户量很大,这是一个高并发的系统,解决起来不是那么容易。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询