84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
我现在想把用户信息缓存进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了。
但是实际应用中,建议把这两个字段分开来存。