redis key 能大小写不敏感吗?不然 email 之类注册的时候,用户 email 有大小写和没大小写怎么区分。。
所有 email,注册时直接转换为小写,不要浪费其它地方的时间了
#1 楼 @fsword 我也想这样,但是问题是,你注册的时候是大小写的,登录的时候,你不知道需要全小写啊,如果是 MYSQL,这就好办了。但是 redis
我又不能明确的说注册的时候只能小写字母。。这和现在很多网站的体验也不太一致吧
当然是所有用户输入直接变为小写了,登录也不例外,用户不需要知道太多
#4 楼 @fsword 客户现在还没发现这个问题,要真需要忽略大小写,就悲剧了。不是自己能说了算唉
#4 楼 @fsword 只能说是一种折中的办法吧。redis 是不能配置成大小写不敏感的吧?
#1 楼 @fsword 有没有可能有些邮箱是大小写敏感的。。然后有人注册不了了。。
#6 楼 @ihlayy 只要你决定在缓存中忽略大小写敏感,那么这两种做法对用户是等价的,所以没什么客户不客户的,我说的不是折衷办法,就应该这么做。 追求完美的人会再添加一个字段用于记录用户登录时输入的名称,但那仅仅是为了展现,验证等逻辑还是用统一最小化后的 email 信息
#7 楼 @jjym email 是大小写不敏感的,看相关规范
#8 楼 @fsword 你要说多加一个字段是可以做到。因为需求就是,你注册的时候,是怎么填写的,就应该怎么显示,然后登陆的时候,忽略大小写可以登录。
但是加一个字段用于显示,逻辑上也需要针对处理。比用同一个字段自然是麻烦了。其实能直接像 mysql 那样忽略大小写是最简单的。
所以第一选择自然是,登录的时候,可以忽略大小写进行匹配
另外我说 email 也只是举例,有些项目用的是 username 登录,username 又是显示名字,很可能也是可以大小写的
#9 楼 @fsword 这样就放心了