redis可以多key对应一个value吗?
仅有的幸福
仅有的幸福 2017-04-25 09:03:09
0
3
1305

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

仅有的幸福
仅有的幸福

全員に返信 (3)
曾经蜡笔没有小新

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

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

いいねを押す+0
    给我你的怀抱

    個人的には、ハッシュを使用して保存できると思います。たとえば、ユーザー 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を実行できます。
    いいねを押す+0
      Peter_Zhu

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

      いいねを押す+0
        最新のダウンロード
        詳細>
        ウェブエフェクト
        公式サイト
        サイト素材
        フロントエンドテンプレート
        私たちについて 免責事項 Sitemap
        PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!