핵심 데이터성능

캐싱

가장 자주 쓰는 데이터를 메모리에 두고 1밀리초에 훨씬 못 미치는 시간에 읽기에 응답합니다. 모든 코어를 활용하는 엔진에서 실행됩니다.

파이프라인 GET/s, 실측
36.6M
TTL 정밀도
ns
기존 클라이언트 그대로 사용
RESP2/3
단계 1 / 5
캐시를 거쳐 읽기

히트는 메모리에서 곧바로 반환됩니다. 데이터베이스는 건드리지 않습니다.

예시 세션playing
# 캐시를 거쳐 읽기
hotkv> GET product:1001
"{\"name\":\"Desk lamp\",\"price\":39}"

실제 HotKV 명령과 예시 응답으로 구성된 애니메이션 안내입니다. 원하는 단계를 클릭하면 해당 단계로 이동합니다. 명령과 응답은 HotKV에서 입력하고 보는 그대로 영어로 표시됩니다.

문제

초당 수천 번 읽히는 데이터를 위해 데이터베이스를 호출하는 것은 느리고 비쌉니다. 모든 페이지 조회, API 호출, 대시보드 새로 고침이 같은 쿼리를 반복하며, 애플리케이션보다 훨씬 먼저 데이터베이스가 병목이 됩니다.

HotKV의 해결 방식

HotKV는 데이터베이스 앞에서 결과를 메모리에 보관합니다. 애플리케이션은 먼저 HotKV에서 읽고, 미스일 때만 데이터베이스로 돌아갑니다. HotKV는 여러 스레드에서 동시에 명령을 실행하므로 바쁜 캐시라도 모든 클라이언트를 단일 코어로 몰아넣지 않으며, 태그를 사용하면 원본 데이터가 바뀔 때 항목 그룹 전체를 무효화할 수 있습니다.

단계별 설명

명령 하나하나, 무슨 일이 일어나는가

  1. 01

    캐시를 거쳐 읽기

    히트는 메모리에서 곧바로 반환됩니다. 데이터베이스는 건드리지 않습니다.

    GET product:1001
  2. 02

    미스이므로 한 번 읽고 캐시

    미스가 나면 애플리케이션이 데이터베이스를 한 번 읽고 결과를 5분 동안 캐시합니다.

    SET product:2002 "{\"name\":\"Oak desk\",\"price\":420}" EX 300
  3. 03

    의존 대상별로 항목에 태그

    조명 상품을 보여 주는 모든 캐시 페이지에 같은 태그가 붙습니다.

    TAG.SET product:1001 catalog:lighting
  4. 04

    그룹 무효화

    가격이 바뀌었습니다. 태그가 있는 모든 키를 나열하고 파이프라인 하나로 삭제합니다.

    TAG.MEMBERS catalog:lighting
  5. 05

    아주 짧게 사는 항목

    이미 설정된 플래시 토큰으로, 나노초 정밀도로 250 ms 후에 사라져야 합니다.

    NEXPIRE flash:token:9 250000000
적용 분야

실제 시나리오

온라인 쇼핑몰

상품 페이지, 가격, 재고 수준은 초당 수천 번 읽히며, 카탈로그가 바뀌면 태그로 새로 고칩니다.

API와 모바일 백엔드

인기 엔드포인트의 응답을 짧은 TTL로 캐시하므로 트래픽 급증이 데이터베이스가 아닌 메모리로 향합니다.

콘텐츠 사이트

렌더링된 조각과 기사 메타데이터를 몇 분 동안 캐시하고, 편집자가 게시하면 태그로 무효화합니다.

내장 기능

제공되는 기능

초부터 나노초까지의 TTL

EXPIRE와 PEXPIRE는 예상대로 동작합니다. NEXPIRE는 나노초 정밀도를 더합니다.

EXPIREPEXPIRENEXPIRE

태그로 무효화

TAG.SET으로 키에 레이블을 붙인 뒤, 레이블이 있는 모든 키를 찾습니다.

TAG.SETTAG.MEMBERS

선택적 압축

큰 페이로드를 압축해 워킹 세트를 더 많이 메모리에 담을 수 있습니다.

멀티스레드 읽기

명령이 병렬 스레드에서 실행되므로 처리량이 코어 수에 따라 늘어납니다. 수치는 성능 페이지에 있습니다.

GETMGET

자주 묻는 질문

기존 Redis 클라이언트를 사용할 수 있습니까?

HotKV는 Redis 프로토콜(RESP2 및 RESP3)을 사용하므로 표준 Redis 클라이언트로 연결할 수 있습니다. 사용하는 명령은 명령 레퍼런스에서 확인하십시오.

캐시된 키 그룹은 어떻게 무효화합니까?

캐시할 때 TAG.SET으로 키에 태그를 붙인 다음, TAG.MEMBERS를 호출하고 반환된 키를 삭제합니다.

36.6M이라는 수치는 어디에서 나왔습니까?

HotKV가 공개한 벤치마크의 파이프라인 GET 처리량입니다. 방법과 하드웨어는 성능 페이지에 있습니다.

관련 사용 사례

직접 워크로드로 사용해 보십시오

HotKV는 Redis 프로토콜을 사용하므로 기존 클라이언트를 연결해 같은 명령을 그대로 실행할 수 있습니다.