Redis와 Memcached API를 호환하며 두 시스템을 대체해 바로 사용할 수 있도록 설계된 인메모리 데이터 저장소입니다.
microlinkhq/keyvhq
TTL 만료와 Redis, MongoDB, SQLite, PostgreSQL 등의 플러그형 백엔드를 지원하는 Node.js 키-값 저장소 라이브러리입니다.
- 스타
- 446
- 포크
- 20
- 열린 이슈
- 0
- 마지막 커밋
- 2개월 전
어떤 프로젝트인가요?
Keyv는 선택적으로 TTL 만료를 적용해 키-값 쌍을 저장하는 가벼운 Node.js 라이브러리입니다. 기본적으로 메모리 내 Map에 데이터를 보관하며, Redis, MongoDB, MySQL, PostgreSQL, SQLite 같은 데이터베이스나 파일에 데이터를 저장하도록 스토리지 어댑터를 바꿔 사용할 수 있습니다. Map API를 구현한 객체라면 무엇이든 스토어로 사용할 수 있습니다.
API는 Promise 기반이며 set, get, has, delete, clear를 제공합니다. 네임스페이스를 사용하면 여러 인스턴스가 키 충돌이나 서로의 데이터 삭제 없이 하나의 데이터베이스를 공유할 수 있습니다. 모든 JSON 타입과 Buffer 값을 직렬화하며, 그 밖의 데이터 타입을 위해 사용자 지정 serialize 및 deserialize 함수 쌍을 지정할 수도 있습니다. 데이터베이스 오류를 처리하므로 스토어에 장애가 발생해도 애플리케이션이 중단되지 않습니다.
또한 압축, 최대 크기 제한, 메모이제이션, 다중 스토어 연결, 메트릭 수집 등의 데코레이터를 제공합니다. 다른 모듈에서 cache 옵션을 받아 Keyv에 전달하기 쉬운 구조로 설계되었습니다.
핵심 기능
- 01기본적으로 메모리에 데이터를 저장하며 다양한 데이터베이스 어댑터를 지원합니다.
- 02키별 TTL과 기본 TTL 만료를 지원합니다.
- 03네임스페이스로 공유 백엔드 내의 키를 분리하고 특정 네임스페이스만 비울 수 있습니다.
- 04모든 JSON 타입과 Buffer 값을 별도 설정 없이 처리합니다.
- 05사용자 지정 serialize 및 deserialize 함수를 지정할 수 있습니다.
- 06Map API를 구현한 객체라면 무엇이든 스토어로 사용할 수 있습니다.
활용 사례
- Redis 또는 다른 데이터베이스를 백엔드로 사용하는 TTL 기반 캐시를 Node.js 애플리케이션에 추가합니다.
- got 예제처럼 클라이언트 라이브러리에서 HTTP 응답을 캐싱합니다.
- 사용자 지정 데이터 계층을 작성하지 않고 SQLite 또는 PostgreSQL에 영구적인 키-값 데이터를 저장합니다.
- 사용자가 자체 스토어를 지정할 수 있는 재사용 가능한 npm 모듈에 캐시 기능을 내장합니다.
빠른 시작
- 1
코어 패키지를 설치합니다
npm install @keyvhq/core --save - 2
필요한 경우 Redis와 같은 스토리지 어댑터를 설치합니다
npm install @keyvhq/redis --save - 3
Keyv 인스턴스를 만들고 키를 설정, 가져오기, 삭제합니다
사용 전 알아둘 점
- 일부 기능과 어댑터는 Redis, MongoDB, PostgreSQL과 같은 외부 데이터베이스나 서비스에 의존하며, 이러한 항목은 직접 실행해야 합니다.
토픽
자주 묻는 질문
- keyvhq은(는) 무엇인가요?
- TTL 만료와 Redis, MongoDB, SQLite, PostgreSQL 등의 플러그형 백엔드를 지원하는 Node.js 키-값 저장소 라이브러리입니다. Keyv는 선택적으로 TTL 만료를 적용해 키-값 쌍을 저장하는 가벼운 Node.js 라이브러리입니다. 기본적으로 메모리 내 Map에 데이터를 보관하며, Redis, MongoDB, MySQL, PostgreSQL, SQLite 같은 데이터베이스나 파일에 데이터를 저장하도록 스토리지 어댑터를 바꿔 사용할 수 있습니다. Map API를 구현한 객체라면 무엇이든 스토어로 사용할 수 있습니다.
- keyvhq은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- keyvhq은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- keyvhq은(는) 아직 유지보수되고 있나요?
- 6개월 이내 업데이트. keyvhq의 마지막 커밋은 2026년 8월 27일입니다.
- keyvhq은(는) 어디에 사용할 수 있나요?
- Redis 또는 다른 데이터베이스를 백엔드로 사용하는 TTL 기반 캐시를 Node.js 애플리케이션에 추가합니다. got 예제처럼 클라이언트 라이브러리에서 HTTP 응답을 캐싱합니다. 사용자 지정 데이터 계층을 작성하지 않고 SQLite 또는 PostgreSQL에 영구적인 키-값 데이터를 저장합니다. 사용자가 자체 스토어를 지정할 수 있는 재사용 가능한 npm 모듈에 캐시 기능을 내장합니다.
- keyvhq는 어떻게 설치하나요?
- 코어 패키지를 설치합니다: npm install @keyvhq/core --save 필요한 경우 Redis와 같은 스토리지 어댑터를 설치합니다: npm install @keyvhq/redis --save Keyv 인스턴스를 만들고 키를 설정, 가져오기, 삭제합니다
- keyvhq은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/microlinkhq/keyvhq
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
캐싱과 실시간 워크로드를 위한 고성능 Redis 호환 키-값 데이터 구조 서버로, Redis에서 포크되었습니다.
Valkey와 Redis용 Java 클라이언트로, 기본 명령에 분산 컬렉션, 잠금, 큐, 서비스를 추가합니다.
Redis, MongoDB 또는 PostgreSQL을 사용하는 실시간 Node.js 포럼 소프트웨어
순수 Go로 작성된 임베디드형 영구 키-값 데이터베이스로, ACID 트랜잭션과 SSD에 최적화된 설계를 제공합니다.
Hugging Face의 Parameter-Efficient Fine-Tuning(PEFT) 라이브러리로, 소수의 추가 파라미터만 학습해 대규모 사전 학습 모델을 맞춤 조정합니다.