84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
我现在想把用户信息缓存进Redis里。用户可以用手机号和身份证来查询,手机号和身份证号都是唯一不可重复的。是不是需要分别以手机号和身份证号为KEY来存两份资料?如何可以只存一份数据就可以通过手机号或身份证来取得用户信息?
以下思路仅供参考:
1:手机号和身份证号均是唯一的,任取其一做为用户信息的key,比如使用手机号mobile为key,使用hash结构;mobile->hash2:建立身份证和手机号的对应关系,使用string结构:id->mobile3:以手机号可以直接查询用户数据,如使用身份证的话,先找出对应的手机号,再根据手机号取hash数据;
个人觉得可以使用Hash来存,比如说用户A,手机号为123,身份证号为456,key可以使用A:手机号或者A:身份证号的形式。
A:手机号
A:身份证号
那么可以HSET A:123 phone 123 id 456或者HSET A:456 phone 123 id 456。
HSET A:123 phone 123 id 456
HSET A:456 phone 123 id 456
理想状况:不考虑外国人的身份证和手机号,你的这种想法完全可以,把身份证号和手机号都对应到key。当调用这个key的时候 ,如果key是15或者18位的时候,就是身份证,11位就是手机号,判断下长度就ok了。但是实际应用中,建议把这两个字段分开来存。
以下思路仅供参考:
1:手机号和身份证号均是唯一的,任取其一做为用户信息的key,比如使用手机号mobile为key,使用hash结构;
mobile->hash
2:建立身份证和手机号的对应关系,使用string结构:id->mobile
3:以手机号可以直接查询用户数据,如使用身份证的话,先找出对应的手机号,再根据手机号取hash数据;
个人觉得可以使用Hash来存,比如说用户A,手机号为123,身份证号为456,key可以使用
A:手机号
或者A:身份证号
的形式。那么可以
HSET A:123 phone 123 id 456
或者HSET A:456 phone 123 id 456
。理想状况:不考虑外国人的身份证和手机号,你的这种想法完全可以,把身份证号和手机号都对应到key。当调用这个key的时候 ,如果key是15或者18位的时候,就是身份证,11位就是手机号,判断下长度就ok了。
但是实际应用中,建议把这两个字段分开来存。