検索

ホームページ  >  に質問  >  本文

redis可以多key对应一个value吗?

我现在想把用户信息缓存进Redis里。
用户可以用手机号和身份证来查询,手机号和身份证号都是唯一不可重复的。
是不是需要分别以手机号和身份证号为KEY来存两份资料?
如何可以只存一份数据就可以通过手机号或身份证来取得用户信息?

仅有的幸福仅有的幸福2795日前1374

全員に返信(3)返信します

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-04-25 09:05:09

    以下のアイデアは参考用です:

    1: 携帯電話番号と ID 番号はどちらも一意です。たとえば、携帯電話番号 mobile->hash
    をキーとして使用します。 2: ID カードを作成し、携帯電話番号間の対応関係は文字列構造を使用します: id->mobile
    3: 携帯電話番号を使用してユーザー データを直接クエリできます。ID カードを使用する場合は、まず対応する番号を見つけます。携帯電話番号を入力し、携帯電話番号に基づいてハッシュ データを取得します。

    返事
    0
  • 给我你的怀抱

    给我你的怀抱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 を実行できます。 🎜

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-25 09:05:09

    理想的な状況: 外国人の ID カードと携帯電話番号に関係なく、ID カード番号と携帯電話番号の両方をキーにマッピングするというアイデアはまったく問題ありません。このキーを呼び出す際、キーが15桁か18桁であればIDカード、11桁であれば携帯電話番号の長さを判断すればOKです。
    ただし、実際のアプリケーションでは、これら 2 つのフィールドを別々に保存することをお勧めします。

    返事
    0
  • キャンセル返事