복붙노트

[REDIS] 어떻게 레디 스 해시에서 핵심 패턴을 검색하려면?

REDIS

어떻게 레디 스 해시에서 핵심 패턴을 검색하려면?

나는 누구의 키와 같은 패턴 USER_TEL의있는 해시 테이블을 가지고 :

bob_123456  : Some address
mary_567894 : other address
john_123456 : third address

지금, 나는 자신의 키에서 동일한 TEL있는 모든 용도의 주소를 좀하고 싶습니다.

내가이 함께했다 :

tel = 123456
r.hmget('address_book', '*_%s' % tel)

내가 대신 값의 [없음]을 얻을 수 없습니다.

해결법

  1. ==============================

    1.당신은 HSCAN 명령을 사용해야합니다.

    당신은 HSCAN 명령을 사용해야합니다.

    예를 들면 :

    redis> HMSET address_book bob_123456 Address1 mary_567894 Address2 john_123456 Address3
    OK
    redis> HSCAN address_book 0 match *_123456
    1) "0"
    2) 1) "bob_123456"
       2) "Address1"
       3) "john_123456"
       4) "Address3"
    

    파이썬 구현 :

    r = Redis(....) #redis url
    for address in r.hscan_iter('address_book', match='*_123456'):
      print(address)
    
  2. from https://stackoverflow.com/questions/35850608/how-to-search-a-key-pattern-in-redis-hash by cc-by-sa and MIT license