注册时发送的短信验证码存在数据库里好还是放在session里?
系统注册的时候发送的短信验证码是放在数据库里存下来好还是放在session里?现在公司的做法是放在数据库里,但是我觉得很浪费,产生很多废数据,而且存在短信发出去后可能存数据库失败的问题。像图片验证码就是直接存session的,一般业务应用会用到短信发送记录吗?感觉存了也没太大用
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
1:如果你的系统现在没有使用像redis这种缓存,并且系统的注册用户访以及可预见的未来注册用户也不是很高(注册不是一个很频繁的操作),可以放在session中,否则还是推荐放在缓存中。
2:如果系统已经有使用像redis这样缓存的地方,那就放在缓存中吧。
放redis
这种数据不会是持久化数据的,存数据库只是为了方便查询而已,其实,如果你存在redis更好,真的。
短信验证码一般会有个失效时间,比如5分钟
1、redis的数据时效特性完美的支撑
2、根据key查value性能超高
取决于你是否需要持久化该种数据,不需要的话完全可以放在redis里面。
一般放redis里面好一些,当然如果支持session也没什么问题(如果你是写的接口就不行了)
存储数据库的好处是,方便以后做数据分析使用。。。。。
这种东西很明显应该用缓存啊,放在redis里是最合理的,因为验证码一般时效就十分钟到三十分钟有效,时间已过就没有什么用了,放数据库既浪费空间,又增加数据库压力(因为这个东西不是需要长久去保存的);你放redis里只需要给他设置一个过期时间,过期了,这个key没有了,就是失效了,也方便判断;
楼上很多都说存redis,我有些不同意见:除非楼主有其他业务需求搭了redis,否则没必要专门为了存验证码搭redis。
存session的话,其实看session的实现,比如nodejs很多session的实现就是存数据库的。
我建议的做法:怎么方便怎么存,存数据库没有任何问题,说增加数据库压力的,其实国内大部分公司项目,远没有用到数据库的瓶颈。特别是前期的小项目。反而,开发效率才是宝贵的。
也可以试试一些集成的账号系统,也很方便,比如 http://www.onlyid.net 之类的。
可以尝试放到redis中,存取效率高,推荐使用http://smsow.zhenzikj.com/doc...