where k=xx 또는 where k in (xx, xx)와 같이 특정 키를 지정하는 방식으로만 쿼리할 것을 강력히 권장합니다.
테이블 생성하기
host:port— Redis 서버 주소입니다. 포트는 생략할 수 있으며, 이 경우 기본 Redis 포트인 6379가 사용됩니다.db_index— Redis DB 인덱스입니다. 범위는 0~15이고, 기본값은 0입니다.password— 사용자 비밀번호입니다. 기본값은 빈 문자열입니다.pool_size— Redis 최대 연결 풀 크기입니다. 기본값은 16입니다.primary_key_name- 컬럼 목록에 있는 임의의 컬럼 이름입니다.
직렬화
PRIMARY KEY는 하나의 컬럼만 지원합니다. 기본 키는 Redis 키로 바이너리 직렬화됩니다.
기본 키를 제외한 컬럼은 해당 순서대로 Redis 값으로 바이너리 직렬화됩니다.host와 port는 별도로 지정해야 합니다. 이 방식은 운영 환경에 권장됩니다. 현재는 이름이 지정된 컬렉션을 사용해 Redis에 전달하는 모든 매개변수가 필수입니다.
필터링
key equals 또는 in filtering이 있는 쿼리는 Redis의 다중 키 조회로 최적화됩니다. 필터링 키 없이 쿼리하면 전체 테이블 스캔이 발생하며, 이는 비용이 큰 작업입니다.사용 예시
Redis engine을 사용하여 ClickHouse에 테이블을 생성합니다:
Query
Query
Query
Query
Response
Query
Response
Query
Response
Query
Query
Truncate는 SYNC 모드도 지원합니다.
Query
Query
제한 사항
where k > xx와 같은 스캔 쿼리도 지원하지만, 몇 가지 제한 사항이 있습니다.
- 재해싱 중에는 매우 드물게 스캔 쿼리에서 일부 키가 중복되어 반환될 수 있습니다. 자세한 내용은 Redis Scan을 참조하십시오.
- 스캔 중에는 키가 생성되거나 삭제될 수 있으므로, 결과 데이터셋은 특정 시점의 유효한 상태를 나타내지 못할 수 있습니다.