Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
486 views
in Technique[技术] by (71.8m points)

缓存如何用在需要验证手机号是否已存在?

比如在注册场景:

需要保证手机号唯一 ,那么就需要去数据库验证
为了防止数据库压力过大 有没有其他好的方法来保证手机号的唯一性?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

不要凭空就想象数据库压力过大, 脱离开QPS, 规模, 实现方式讲性能是耍流氓

如果你给手机号那个字段建立了索引, 并且字段类型设计合理, 而且查询也仅获取那个字段, 实际上整个查询是在索引上(也就是内存中)完成的, 和使用 redis 等 NOSQL 没啥本质区别

例如:

select `phone` from `users` where `phone` = ?
# 注意不是 select *

只要 phone 有索引, 整个查询会在索引上就完成, 不会回表, 性能很好


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...