Azure Cache for Redis와 함께 Redis 모듈 사용

Azure Cache for Redis를 사용하면 Redis 모듈을 라이브러리로 사용하여 핵심 Redis 소프트웨어에 더 많은 데이터 구조와 기능을 추가할 수 있습니다. Enterprise 계층 캐시를 만들 때 모듈을 추가합니다.

Enterprise 캐시 만들기에 대한 자세한 내용은 빠른 시작: Redis Enterprise 캐시 만들기을 참조하세요.

모듈은 오픈 소스 Redis 4.0에서 도입되었습니다. 모듈은 검색 기능과 같은 기능과 블룸 및 쿠쿠 필터와 같은 데이터 구조를 추가하여 Redis의 사용 사례를 확장합니다.

Redis 모듈의 범위

Azure Cache for Redis의 Enterprise 계층에서 몇 가지 자주 사용되는 모듈을 사용할 수 있습니다.

모듈 Basic, Standard 및 Premium Enterprise Enterprise Flash
RediSearch 예(미리 보기)
RedisBloom 아니요
RedisTimeSeries 아니요
RedisJSON

참고 항목

현재 Azure Cache for Redis에 모듈을 수동으로 로드할 수 없습니다. 모듈 버전을 수동으로 업데이트하는 것도 불가능합니다.

활성 지역 복제와 함께 모듈 사용

RediSearchRedisJSON 모듈만 활성 지역 복제와 동시에 사용할 수 있습니다.

이러한 모듈을 사용하여 활성-활성 구성에서 동기화되는 캐시 그룹 간에 검색을 구현할 수 있습니다. 또한 활성-활성 구성에서 JSON 구조를 검색할 수 있습니다.

클라이언트 라이브러리 지원

표준 Redis 클라이언트 라이브러리는 각 모듈에 대해 다양한 지원을 제공합니다. 일부 모듈에는 클라이언트 지원을 추가하는 특정 라이브러리가 있습니다. 각 모듈의 Redis 설명서 페이지에서 지원하는 클라이언트 라이브러리에 대한 자세한 내용을 확인합니다.

캐시에 모듈 추가

Enterprise 계층 캐시를 만들 때 모듈을 추가해야 합니다. 새 캐시를 만들 때 모듈을 추가하려면 Enterprise 계층 캐시의 고급 탭에 있는 설정을 사용합니다.

사용 가능한 모든 모듈을 추가하거나 설치할 특정 모듈만 선택할 수 있습니다.

새 캐시에 추가할 모듈 목록을 보여 주는 고급 탭의 스크린샷

Important

Azure Cache for Redis 인스턴스를 만들 때 모듈을 사용하도록 설정해야 합니다.

자세한 내용은 빠른 시작: Redis Enterprise 캐시 만들기를 참조하세요.

모듈

새 Enterprise 캐시를 만들 때 다음 모듈을 사용할 수 있습니다.

RediSearch

RediSearch 모듈은 짧은 대기 시간 성능과 강력한 검색 기능을 결합하여 캐시에 실시간 검색 엔진을 추가합니다.

기능은 다음과 같습니다.

  • 다중 필드 쿼리
  • 집계
  • 접두사, 퍼지 및 음성학 기반 검색
  • 자동 완성 제안
  • 지역 필터링
  • 부울 쿼리

또한 RediSearch는 보조 인덱스로 작동하여 캐시를 키-값 구조 이상으로 확장하고 보다 정교한 쿼리를 제공할 수 있습니다.

RediSearch에는 KNN(K Nearest Neighbors) 검색과 같은 벡터 유사성 쿼리를 수행하는 기능도 포함되어 있습니다. 이 기능을 사용하면 Azure Cache for Redis를 벡터 데이터베이스로 사용할 수 있습니다. 이는 의미 체계 응답 엔진 또는 기계 학습 모델에서 생성된 포함 벡터를 비교해야 하는 다른 애플리케이션과 같은 AI 사용 사례에 유용합니다.

RediSearch는 실시간 인벤토리, 기업 검색 및 외부 데이터베이스 인덱스 생성을 비롯한 다양한 사용 사례에서 사용할 수 있습니다. 자세한 내용은 RediSearch 설명서 페이지를 참조하세요.

Important

RediSearch 모듈에는 Enterprise 클러스터링 정책 및 NoEviction 제거 정책을 사용해야 합니다. 자세한 내용은 클러스터링 정책메모리 정책을 참조하세요.

RedisBloom

RedisBloom은 Redis 서버에 블룸 필터, 쿠쿠 필터, count-min sketchtop-k의 4가지 확률적 데이터 구조를 추가합니다. 이러한 각 데이터 구조는 더 빠른 속도와 더 나은 메모리 효율성에 대한 대가로 완벽한 정확도를 희생하는 방법을 제공합니다.

데이터 구조 설명 예제 애플리케이션
블룸 및 쿠쿠 필터 항목이 (a) 확실히 집합에 없는지 또는 (b) 잠재적으로 집합에 있는지 알려 줍니다. 이메일이 이미 사용자에게 전송되었는지 확인
Count-min sketch 스트림의 이벤트 빈도를 결정합니다. IoT 디바이스가 섭씨 0도 미만의 온도를 보고한 횟수를 계산합니다.
Top-k 가장 자주 본 항목 k개를 찾습니다. 전쟁과 평화에서 가장 자주 사용되는 단어를 알아 냅니다. (예를 들어, k = 50으로 설정하면 책에서 가장 많이 사용된 50개의 단어가 반환됩니다)

블룸 및 쿠쿠 필터는 서로 유사하지만 각각 고유한 장점과 단점이 있으며 이는 이 설명서의 범위를 벗어납니다.

자세한 내용은 RedisBloom을 참조하세요.

RedisTimeSeries

RedisTimeSeries 모듈은 캐시에 처리량이 많은 시계열 기능을 추가합니다. 이 데이터 구조는 대량의 수신 데이터에 최적화되어 있으며 다음을 포함하여 시계열 데이터로 작업할 수 있는 기능을 포함합니다.

  • 집계된 쿼리(예: 평균, 최댓값, 표준 편차 등)
  • 시간 기반 쿼리(예: 시작 시간 및 종료 시간)
  • 다운샘플링/데시메이션
  • 보조 인덱싱을 위한 데이터 레이블 지정
  • 구성 가능한 보존 기간

이 모듈은 IoT 원격 분석, 애플리케이션 모니터링 및 변칙 검색과 같은 스트리밍 데이터 모니터링과 관련된 많은 애플리케이션에 유용합니다.

자세한 내용은 RedisTimeSeries를 참조하세요.

RedisJSON

RedisJSON 모듈은 JSON 형식 데이터를 저장, 쿼리 및 쿼리하는 기능을 추가합니다. 이 기능은 문서와 유사한 데이터를 캐시에 저장하는 데 유용합니다.

기능은 다음과 같습니다.

  • JSON 표준에 대한 완전한 지원
  • 개체, 숫자, 배열 및 문자열을 포함한 모든 JSON 데이터 형식에 대한 광범위한 작업
  • 문서 내의 요소를 선택하고 업데이트하기 위한 전용 구문 및 빠른 액세스

RedisJSON 모듈은 Redis 서버 내에서 통합된 인덱스 생성 및 데이터 쿼리를 제공하기 위해 RediSearch 모듈과 함께 사용하도록 설계되었습니다. 두 모듈을 함께 사용하면 JSON 개체 내에서 특정 데이터 포인트를 빠르게 검색하는 강력한 도구가 될 수 있습니다.

RedisJSON의 몇 가지 일반적인 사용 사례에는 제품 카탈로그 검색, 사용자 프로필 관리, JSON 구조화된 데이터 캐싱과 같은 애플리케이션이 있습니다.

자세한 내용은 RedisJSON을 참조하세요.

참고 항목

FT.CONFIG 명령은 모듈 구성 매개 변수 업데이트를 지원하지 않습니다. 그러나 관리 API를 사용할 때 모듈을 구성하는 인수를 전달하여 이 작업을 수행할 수 있습니다. 예를 들어 REST API, Azure CLI 또는 PowerShell과 함께 args 매개 변수를 사용하여 RedisBloom 모듈의 ERROR_RATEINITIAL_SIZE 속성을 구성하는 샘플을 볼 수 있습니다.