에 와일드 카드를 사용하는 I가 다음과 같은 해시 :방법 레디 스 검색
HMSET rules:1231231234_11:00_17:00 fw 4444 dm test.abc.com days 'thu, tue, wed'
HMSET rules:1231231234_9:00_10:59 fw 2211 dm anothertest.abc.com days 'thu'
어쨌든 거기에 내가 규칙 해시를 검색하고 1231231234의 접두사가 모든 레코드를 찾을 수 있습니까? 내가 데이터를 생성 한 아마 방법
HGET rules:1231231234*
또는 같은 뭔가 ... 잘못이다. (JSON 표기법)
{
pn: 1231231234,
rules: [{
"expiration_date" : "",
"days_of_week" : "Thu, Tue, Wed",
"start_time" : "11:00",
"end_time" : "17:00",
"fw" : "9999"
},
{
"rule_expiration_date" : "",
"days_of_week" : "Thu",
"start_time" : "9:00",
"end_time" : "10:59",
"fw" : "2222"
}]
}
이 데이터가 사용됩니다 방법 : 무엇이이 같은 데이터 세트를 만들 수있는 가장 좋은 방법
나는에 따라 나에게 적용되는 규칙을 찾아야합니다 현재 시간. 예를 들어, 내 응용 프로그램이 pn 1231231234를 "처리"하는 요청을 받으면 해당 pn 번호에 대한 모든 규칙을 조회 한 다음 현재 요일과 시간 스탬프가 일치하는 규칙을 찾아야합니다.
주어진 pn에 대한 모든 규칙을 되찾은 다음 올바른 규칙을 찾기 위해 클라이언트 코드 루프를 반복해도 상관 없습니다. 내 데이터가 현재 생성 된 방법을 사용
EDIT 1
, 나는이 같은 HSCAN을 시도 : 테스트로
127.0.0.1:6379[1]> HSCAN rules 0 MATCH 1231231234*
1) "0"
2) (empty list or set)
127.0.0.1:6379[1]>
편집 2
, 나는 시도 이 유형의 구조 대신 :
HMSET rules:1231231234 tue_11:00_17:00 fw 9999
HMSET rules:1231231234 wed_11:00_17:00 fw 9999
HMSET rules:1231231234 thur_11:00_17:00 fw 9999
HMSET rules:1231231234 thu_9:00_10:59 fw 2222
그럼 메인 pn에 대한 모든 규칙을 볼 수 있습니다. 내 클라이언트 애플 리케이션 결과를 통해 루프를 사용하여 ... ?
이 비슷한 질문하는 데 도움이 : http://stackoverflow.com/questions/34879019/redis-hmget-with-wildcard-fields –
@ChrisTanner [레디 스 /의 편집 1 개 – Happydevdays
가능한 복제를 참조하시기 바랍니다 모든 가져 오기 키 및 값 (접두어가있는 redis)] (https://stackoverflow.com/questions/30728973/redis-get-all-keys-values-from-redis-with-prefix) – tkruse