진정한 병렬 처리
모든 워커가 자신의 연결에서 들어온 명령을 동시에 실행합니다. 포화될 단일 명령 스레드가 없으므로 처리량이 코어 수에 따라 증가합니다.
세분화된 동시성
키스페이스가 분할되어 있어 서로 다른 키에 대한 명령이 동시에 실행되며 서로를 기다리는 일이 드뭅니다.
예측 가능한 지연 시간
가비지 컬렉터도, stop-the-world 일시 중지도 없는 네이티브 C++ 엔진입니다. 스냅샷은 포크된 프로세스 대신 백그라운드 스레드에서 기록되므로 저장할 때 메모리가 두 배로 늘어나지 않습니다.
명령의 일생
모든 요청은 요청을 받은 코어에서 동일한 네 단계를 거칩니다.
파싱
부분 읽기를 포함하여 요청을 읽습니다. HotKV는 RESP2, RESP3, 인라인 명령을 지원하며 HELLO를 통해 프로토콜을 전환합니다.
디스패치
명령을 찾고, 실행을 시작하기 전에 인자 개수(arity), 플래그, 키 위치를 확인합니다.
실행
해당 키에 대해 명령을 실행합니다. 만료된 키는 접근될 때와 백그라운드 스윕을 통해 제거됩니다.
응답
클라이언트가 협상한 프로토콜 버전으로 응답을 보냅니다.
캐시 그 이상
동일한 병렬 엔진이 300개의 핵심 명령, 8가지 제거 정책, 아래의 하위 시스템을 제공하며, 라이선스 플랜에서는 170개 이상의 AI 및 엔터프라이즈 명령도 제공합니다. 별도로 덧붙일 모듈이 없습니다.
스냅샷 + AOF
원자적으로 기록되는 바이너리 스냅샷과, fsync 설정(always, everysec, no)이 가능한 append-only 파일 및 BGREWRITEAOF 컴팩션을 제공합니다.
샌드박스 Lua 5.4
EVAL과 EVALSHA는 hotkv.call()을 통해 샌드박스된 Lua 5.4 런타임에서 스크립트를 원자적으로 실행하며, redis.call()은 호환성 별칭으로 유지됩니다. 이름이 지정된 함수 라이브러리는 FUNCTION과 FCALL로 제공됩니다.
HNSW 인덱스
VSIM 명령은 HNSW 인덱스에서 근사 최근접 이웃 검색을 제공하며, 코사인, L2, 내적 거리와 태그 필터 쿼리를 지원합니다.
스케치 및 속도 제한
HyperLogLog, Bloom 필터, Count-Min Sketch, Top-K 헤비 히터 추적과 함께 버스트 제어를 지원하는 서버 측 GCRA 속도 제한을 제공합니다. 클라이언트 측 계산이 필요 없습니다.
Prometheus 네이티브
내장 HTTP 메트릭 엔드포인트(metrics-port를 설정하기 전까지 꺼져 있음)가 명령별 호출 횟수와 지연 시간을 노출합니다. LATENCY HISTOGRAM과 INFO latencystats는 p50, p99, p99.9를 보고하며, HOTKEYS는 가장 많이 접근된 키의 순위를 보여 줍니다.
ACL + TLS
사용자별 접근 제어로 명령, 키, 채널의 범위를 지정하며 비밀번호는 해시로 저장됩니다. TLS는 프로세스 내에서 종료되며 클라이언트 연결과 클러스터 및 복제 링크에 적용됩니다. 온프레미스 버전에는 LDAP 및 OpenID Connect 싱글 사인온을 지원하는 역할 기능이 추가됩니다.