根据业务的实际情况吧。
比如使用手机验证码,你需要它的实效性是针对用户当前操作的,且时间为1小时或1天内的(比如是注册,用户只需要获取一次验证码,只要是在今天内还没有完成注册,不管用户是否重新发起发送验证码的功能,验证码都是用户第一次获得的验证码),肯定需要存储在数据库。这个时候如果使用session 就会出现很多问题。
如果是图片验证码,那肯定没有必要存到数据库。
1.存数据库也不是不可以,用于KV使用
存储数据库里,要给个时效,因为验证码要一定时间内失效,持久化就没有什么意义。
2.session存储
以前的项目用Session用的多,设定失效时间就行;
至于线程,之前看过有项目用线程的,但都是小项目,用户量顶多几百,服务器扛得住,一旦用户量突增......你懂的
3.redis 方案:设置生存周期
Radis有更好的效率和更低的消耗于是radis用的就多;设置存储时间,效率高,搭建集群还能解决高并发的问题。
但是如果redis挂了后果就很严重了
网友评论