84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
我现在想把用户信息缓存进Redis里。用户可以用手机号和身份证来查询,手机号和身份证号都是唯一不可重复的。是不是需要分别以手机号和身份证号为KEY来存两份资料?如何可以只存一份数据就可以通过手机号或身份证来取得用户信息?
以下のアイデアは参考用です:
1: 携帯電話番号と ID 番号はどちらも一意です。たとえば、携帯電話番号 mobile->hashをキーとして使用します。 2: ID カードを作成し、携帯電話番号間の対応関係は文字列構造を使用します: id->mobile3: 携帯電話番号を使用してユーザー データを直接クエリできます。ID カードを使用する場合は、まず対応する番号を見つけます。携帯電話番号を入力し、携帯電話番号に基づいてハッシュ データを取得します。
個人的には、ハッシュを使用して保存できると思います。たとえば、ユーザー A の携帯電話番号は 123、ID カード番号は 456 です。キーはA:携帯電話番号または A:ID カード番号 code> フォーム。A:手机号或者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
HSET A:123 Phone 123 id 456
HSET A:456 Phone 123 id 456
理想的な状況: 外国人の ID カードと携帯電話番号に関係なく、ID カード番号と携帯電話番号の両方をキーにマッピングするというアイデアはまったく問題ありません。このキーを呼び出す際、キーが15桁か18桁であればIDカード、11桁であれば携帯電話番号の長さを判断すればOKです。ただし、実際のアプリケーションでは、これら 2 つのフィールドを別々に保存することをお勧めします。
以下のアイデアは参考用です:
1: 携帯電話番号と ID 番号はどちらも一意です。たとえば、携帯電話番号 mobile->hash
をキーとして使用します。 2: ID カードを作成し、携帯電話番号間の対応関係は文字列構造を使用します: id->mobile
3: 携帯電話番号を使用してユーザー データを直接クエリできます。ID カードを使用する場合は、まず対応する番号を見つけます。携帯電話番号を入力し、携帯電話番号に基づいてハッシュ データを取得します。
個人的には、ハッシュを使用して保存できると思います。たとえば、ユーザー A の携帯電話番号は 123、ID カード番号は 456 です。キーは
A:携帯電話番号
または A:ID カード番号 code> フォーム。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
を実行できます。理想的な状況: 外国人の ID カードと携帯電話番号に関係なく、ID カード番号と携帯電話番号の両方をキーにマッピングするというアイデアはまったく問題ありません。このキーを呼び出す際、キーが15桁か18桁であればIDカード、11桁であれば携帯電話番号の長さを判断すればOKです。
ただし、実際のアプリケーションでは、これら 2 つのフィールドを別々に保存することをお勧めします。