2 sweet  dream Sweet__dream 于 2017.09.08 09:30 提问

急急急,登录、注册、找回密码之间的问题 1C

使用的是SSM框架,用到了redis缓存

登录的时候提示账号或密码错误

找回密码提示该用户不存在

去注册又说此账户已被绑定

这是什么原因呀,求大神说明下原因,谢谢!!!!

8个回答

caozhy
caozhy   Ds   Rxr 2017.09.08 09:31

代码是谁写的,问那个写的人。

Sweet__dream
Sweet__dream 代码是没有问题的,之前切换过服务器,不知道是不是缓存的问题
2 个月之前 回复
qq_38494537
qq_38494537   2017.09.08 09:31

代码贴出来看看啊!!!!

qq_23292875
qq_23292875   2017.09.08 09:32

这么描述问题还不如debug跟一下

Small_Mouse0
Small_Mouse0   Ds   Rxr 2017.09.08 09:34

找回密码提示该用户不存在
去注册又说此账户已被绑定

还有这种操作。。。。给个截图瞅瞅

Small_Mouse0
Small_Mouse0 回复Sweet__dream: 很有可能是缓存的问题,,题主可以深入看看redis缓存的东西
2 个月之前 回复
Sweet__dream
Sweet__dream 是的,我还在纠结这个问题,不明不白
2 个月之前 回复
Small_Mouse0
Small_Mouse0 回复Sweet__dream: 0.0,,,过两天现在就能注册成功了???
2 个月之前 回复
Sweet__dream
Sweet__dream 问题是过了两天现在就能注册成功了,晕啊
2 个月之前 回复
Small_Mouse0
Small_Mouse0 回复Sweet__dream: 你看看这篇博客吧,,清除缓存的具体操作:http://blog.csdn.net/jiangtao_st/article/details/37699473
2 个月之前 回复
Sweet__dream
Sweet__dream 你能解释下缓存不,我问过组长,他说是缓存,具体要我自己研究,表示是个新手
2 个月之前 回复
Sweet__dream
Sweet__dream 合作方写的项目,现在拿过来全自己搞
2 个月之前 回复
Small_Mouse0
Small_Mouse0 回复Sweet__dream: 题主这个是自己玩的项目还是?,,可以redis先去了,,看下会不会错,,然后再更新的时候吧缓存清理了(或者更新局部缓存)
2 个月之前 回复
Sweet__dream
Sweet__dream 那怎么说明这个问题的原因呢,我知道是缓存,但具体要怎么说,不明白
2 个月之前 回复
Small_Mouse0
Small_Mouse0 回复Sweet__dream: 可能是缓存的原因,,,
2 个月之前 回复
Sweet__dream
Sweet__dream 不知道是不是缓存的原因,代码是没问题的,之前切换过服务器
2 个月之前 回复
Sweet__dream
Sweet__dream   2017.09.08 09:39

图片说明登录
图片说明注册
图片说明找回密码

BloodyMandoo
BloodyMandoo   2017.09.08 09:46

找回密码提示该用户不存在 如果代码没问题的话就说明数据库上改用户被删除了(物理删除或逻辑删除);
登录的时候提示账号或密码错误 这个要看你如何验证的了,如果没有做用户是否存在的验证这个报错不能说明什么;
去注册又说此账户已被绑定 说明用户存在;

综上,最有可能的是在做验证的时候没有考虑,用户的status!

Sweet__dream
Sweet__dream 切换了服务器,用户是存在缓存中的,这个要如何理解
2 个月之前 回复
qq_16768503
qq_16768503   2017.09.08 09:55

你的找回密码有没有debug下,email的信息有从前台传过来吗

qq_16768503
qq_16768503 这个要问写代码的人,因为这个不像是配置文件。要看你在哪里用到redis,所以没有固定的配置地方
2 个月之前 回复
Sweet__dream
Sweet__dream 这个是在哪设置的呢
2 个月之前 回复
qq_16768503
qq_16768503 另外,redis也会设置expire,这是生存时间设置,时间到了会自动删除设置的数据,这个可以用来做定时缓存清理
2 个月之前 回复
qq_16768503
qq_16768503 删除用户要清理缓存的,要不然会造成数据库中没有数据,但运行能找到这条数据这样的问题,redis其实也是一个数据库,用redis做缓存,要注意及时清理数据
2 个月之前 回复
qq_16768503
qq_16768503 回复Sweet__dream: 你的redis是不是没有清理缓存,注册会先从redis缓存中查询这个用户的信息,如果查询到就会提示你已被注册
2 个月之前 回复
Sweet__dream
Sweet__dream 发现这个问题的时候查验了数据库,不存在这条记录,所以我就疑惑再去注册的时候为什么会提示已被注册
2 个月之前 回复
qq_16768503
qq_16768503 回复Sweet__dream: 切换服务器,那你的redis是一起切换的,还是使用的切换之前的,另外你能直接从数据库中查询到这个用户是否还存在吗?
2 个月之前 回复
Sweet__dream
Sweet__dream 代码是没有问题的,之前数据存在缓存中,切换了服务器,对缓存不是很了解,所以不知道怎么理解这个问题
2 个月之前 回复
Sweet__dream
Sweet__dream 提示账户不存在,就不会再收到email了
2 个月之前 回复
weisheixiaoxin
weisheixiaoxin   2017.09.08 10:16

redis 有没有丢过来 然后有没有启动 ,redis 持久化操作会涉及到aof rdb的物理文件存储

你说数据存在缓存中 你redis的持久化文件当然也要拷贝到另一台服务器中,redis启动时就加载

weisheixiaoxin
weisheixiaoxin 回复Sweet__dream: 所以有些数据不是存储在数据库上面的,而是存在缓存里面 进入redis 服务 使用命令:keys *
2 个月之前 回复
Sweet__dream
Sweet__dream 问题是过了两天现在就能注册成功了,晕啊 ,组长要我找原因,一脸懵逼
2 个月之前 回复
Sweet__dream
Sweet__dream 发现这个问题的时候查验了数据库,不存在这条记录,所以我就疑惑再去注册的时候为什么会提示已被注册
2 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片