[REDIS] Predis에서 MATCH 옵션 SCAN을 사용하는 방법
REDISPredis에서 MATCH 옵션 SCAN을 사용하는 방법
나는 이전에 키가 내 레디 스 데이터베이스의 특정 패턴과 일치하는 키를 검색하는 명령을 사용했다. 대신 한 번에 전체 키 스페이스를 통해 스캔의 반복자를 반환하기 때문에 레디 스 2.8 이후, SCAN 명령 키보다 선호 될 것으로 보인다.
나는 SCAN 명령에 대한 PHP 반복자를 지원하도록되어 Predis> = 0.8.5을 사용하고 있습니다. 내가 어떻게 다음 키가의 SCAN 대응에 명령을 번역하는 방법 궁금하네요 그래서 Predis는, 많은 문서가 없습니다 :
$client->keys($pattern)
나는 다음을 시도했다 :
$client->scan('MATCH', $pattern);
어떤 작품의 어떤 -하지만 네이티브 PHP 반복자를 반환하지 않습니다. Predis '구축에 반복자 지원을 사용하기 정말 좋은 것입니다.
해결법
-
==============================
1.나는 Predis 예제 디렉토리에 작업을 수행하는 방법을 발견했다.
나는 Predis 예제 디렉토리에 작업을 수행하는 방법을 발견했다.
데이터베이스에서 일치하는 키를 검색 할 SCAN을 사용하려면, 당신은 단순히 Predis \ 컬렉션 \ 반복자 \ KEYSPACE 클래스를 사용합니다 :
use Predis\Collection\Iterator; $client = ...; $pattern = 'foo*'; foreach (new Iterator\Keyspace($client, $pattern) as $key) { ... }
분명히 Predis는 각 명령에 대한 Predis \ 컬렉션 \ 반복자의 반복자 클래스가 반환 반복자가 :
-
==============================
2.어쩌면이 다른 Predis의 초보자를위한 도움이 될 것입니다 그리고 당신은 당신이 사용할 수있는 나 같은 PHP / MySQL의 배경에서오고있어 :
어쩌면이 다른 Predis의 초보자를위한 도움이 될 것입니다 그리고 당신은 당신이 사용할 수있는 나 같은 PHP / MySQL의 배경에서오고있어 :
foreach (new Iterator\HashKey($client, $pattern) as $index => $value) { ... }
이전에 $ 클라이언트 -> hmset와 배열 데이터 세트 ($ 인덱스, $ 배열)을 생성합니다.
from https://stackoverflow.com/questions/28545549/how-to-use-scan-with-the-match-option-in-predis by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 어떻게 계층 적 데이터를 저장하는 데 레디 스를 사용 하는가? (0) | 2020.01.18 |
---|---|
[REDIS] Node.js를을 사용하여 클러스터 ElastiCache에 연결하는 방법 (0) | 2020.01.18 |
[REDIS] 각 그룹의 Redisearch 집계 반환 상위 5 (0) | 2020.01.18 |
[REDIS] 레디 스 KEYSPACE 알림 flushdb와 (0) | 2020.01.18 |
[REDIS] 클러스터 지속적으로 로그 WSA_IO_PENDING를 인쇄 레디 스 (0) | 2020.01.18 |