2017-02-09 4 views
1

나는Redis : Redis에 저장된 필드로 필터링 된 데이터를 가져올 수 있습니까?

id name email  emp_id 
1 abc [email protected] e1e2 
2 lmn [email protected] e1e3 

말처럼이 행이와 MySQL을 가져 오는 후, 나는 레디 스에서이 데이터를 저장 의미한다.

이제 다른 사용자의 이메일 ID 인(redis)에서 데이터를 가져오고 싶습니다. 어떻게해야하고 어떤 데이터 형식을 redis에서 사용해야합니까?

답변

1

데이터를 redis에 저장하는 방법에 따라 다릅니다. 이메일을 통해 자주 액세스하는 경우 전자 메일을 해시 키로 사용하고 'HGETALL email : [email protected]'과 같은 값으로 직접 값에 액세스 할 수 있습니다.

+0

fname과 lname으로 검색하려면 어떻게해야합니까? 테이블에 50 개의 열이 있다고 가정하면 한 테이블에서 50 개의 다른 키를 만들 수 없습니다! 그리고 어떤 응용 프로그램에도 100 개 이상의 테이블이 있습니다. –

2

보조 색인이 필요합니다. Redis 데이터 구조를 사용하여 직접 구현할 수 있습니다.

https://github.com/RedisLabsModules/secondary

당신은 같은 것을 할 수있는 그것을 사용 :

IDX.FROM users_email WHERE "email ='[email protected]'" HGETALL $ 
을 아니면 레디 스 4.0 괜찮아 경우 (현재 RC 단계에서), 당신은 당신이 그것을 자동화 할 수 있습니다이 모듈을 시도 할 수 있습니다

WHERE 조건과 일치하는 키에 대해 재발행 작업을 수행합니다 ($은 쿼리와 일치하는 각 ID의 실제 ID로 대체됩니다).

관련 문제