我正在使用NodeJS,ExpressJS和MongoDB开发应用程序。目前我正在进行用户注册流程。我想将用户帐户临时存储,直到用户验证了他的电子邮件地址,如果电子邮件地址未在一定时间内得到验证,我想删除临时帐户。
目前我已经遵循两个想法来解决这个问题:
创建mongoose TempUserModel(除了UserModel),即如果用户进行注册,将创建临时用户,一旦用户验证了他的电子邮件地址,临时用户帐户将被复制到真实用户帐户用户收藏。一些cronjobs可以设置为在一定时间后删除未验证的用户帐户(可能有更好的解决方案让mongodb记录到期)
设置redis以存储临时用户帐户数据,一旦验证了电子邮件地址,就会在mongodb中创建一个新用户。使用此解决方案,可以设置过期日期,以便在一定时间后删除未经过验证的帐户。
在Redis或MongoDB中存储临时用户帐户是否更好?
答案 0 :(得分:2)
我建议在MongoDB中存储临时用户帐户。将它们存储在MongoDB中比Redis有三个优点:
.toFormat('png')
字段是两种用户之间的唯一区别。将has_verified
更改为true比将数据从Redis保存到Mongo容易得多。