算法 - 如何高效的在用户注册时生成随机字符串?

查看:109
本文介绍了算法 - 如何高效的在用户注册时生成随机字符串?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

有这么一个场景:

注册某个系统,每注册一次,都要给注册用户添加一个特有(unique)的注册码,这个注册码是12位随机字符(A-Z,a-z,0-9),然后用户注册的时候自动生成。

我现在自己能想到的方法有两个,但感觉都特别蠢。

  1. 生成一个注册码,就提交到数据库比对一次,有就再生成,重复前述动作,直到对比不成功。
  2. 先把数据库里有个所有既存用户的注册码都拿出来,然后一个个比对,直到找不到。

两种方法的缺陷都是效率太慢,一个个比过来简直就要卡死程序的节奏。抛砖引玉,看看有没有比较好的方法。
还在 其他地方看到 线性同余,暂时没理解逻辑,研究中……

解决方案

这是应该交给redis来做,高效,方便,首先当有人注册是,生成注册码放到redis里,设置过期时间,这样不就很好了吗,12位随机数,一般注册邀请码都是30分钟或者啥稍微长一点时间。应该不会有影响的1

这篇关于算法 - 如何高效的在用户注册时生成随机字符串?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆