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