Redis와 Memcached API를 호환하며 두 시스템을 대체해 바로 사용할 수 있도록 설계된 인메모리 데이터 저장소입니다.
microsoft/garnet
기존 Redis 클라이언트를 수정 없이 연결할 수 있도록 Redis RESP 프로토콜을 지원하는 C# 원격 캐시 저장소입니다.
대체할 수 있는 제품:Redis
- 스타
- 12,077
- 포크
- 722
- 열린 이슈
- 81
- 마지막 커밋
- 22시간 전
어떤 프로젝트인가요?
Garnet은 Microsoft Research에서 개발한 원격 캐시 저장소입니다. RESP 와이어 프로토콜을 채택해 C#용 StackExchange.Redis 같은 Redis 클라이언트를 수정하지 않고도 연결할 수 있습니다. 다수의 클라이언트 연결과 소규모 배치에서 높은 처리량을 내고, 클라우드 환경에서 클라이언트 지연 시간을 낮추는 것을 목표로 합니다.
Garnet은 키 만료 기능이 있는 기본 문자열 연산과 HyperLogLog, 비트맵, 정렬된 집합, 리스트, 해시 등 다양한 객체 유형을 지원합니다. 클라이언트 측 RESP 트랜잭션, 서버 측 저장 프로시저, C#으로 작성하는 사용자 지정 확장을 통해 여러 키에 대한 트랜잭션을 처리할 수 있습니다. Lua 스크립트도 지원하며, TLS는 .NET의 SslStream을 통해 제공됩니다.
스토리지 계층인 Tsavorite는 메모리, SSD, 클라우드 스토리지에 데이터를 계층화할 수 있으며, 내구성을 위해 체크포인팅, 복구, 작업 로깅을 지원합니다. 클러스터 모드에서는 샤딩, 복제, 동적 키 마이그레이션을 지원하고, 관리를 위해 표준 Redis 클러스터 명령을 제공합니다. 프리뷰 기능으로 근사 최근접 이웃 검색을 위한 벡터 집합과 키에 대한 범위 인덱스가 포함됩니다.
핵심 기능
- 01RESP 프로토콜을 통해 수정하지 않은 Redis 클라이언트와 호환됩니다.
- 02문자열, HyperLogLog, 비트맵, 정렬된 집합, 리스트, 해시, 지리 공간 유형을 지원합니다.
- 03C#으로 사용자 지정 연산과 저장 프로시저를 작성할 수 있습니다.
- 04TLS 통신과 기본적인 액세스 제어를 제공합니다.
- 05체크포인팅과 복구 기능을 제공하며 메모리, SSD, 클라우드에 걸쳐 스토리지를 계층화합니다.
- 06샤딩, 복제, 키 마이그레이션을 지원하는 클러스터 모드를 제공합니다.
활용 사례
- 기존 클라이언트 코드를 유지하면서 .NET 서비스의 Redis 캐시를 대체할 때
- 다수의 클라이언트가 소규모 요청을 보내는 높은 동시성 워크로드를 처리할 때
- Redis 호환 서버에서 C#으로 사용자 지정 캐시 로직이나 데이터 유형을 구현할 때
- 클라우드 VM에서 샤딩 및 복제된 캐시 클러스터를 운영할 때
빠른 시작
- 1
프로젝트 문서의 시작하기 가이드를 따르세요
사용 전 알아둘 점
- Vector Sets와 Range Index는 미리 보기 단계입니다.
- Cluster mode는 수동적이며 leader election을 구현하지 않습니다. 외부 control plane에서 cluster commands를 내려야 합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- garnet은(는) 무엇인가요?
- 기존 Redis 클라이언트를 수정 없이 연결할 수 있도록 Redis RESP 프로토콜을 지원하는 C# 원격 캐시 저장소입니다. Garnet은 Microsoft Research에서 개발한 원격 캐시 저장소입니다. RESP 와이어 프로토콜을 채택해 C#용 StackExchange.Redis 같은 Redis 클라이언트를 수정하지 않고도 연결할 수 있습니다. 다수의 클라이언트 연결과 소규모 배치에서 높은 처리량을 내고, 클라우드 환경에서 클라이언트 지연 시간을 낮추는 것을 목표로 합니다.
- garnet은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- garnet은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- garnet은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. garnet의 마지막 커밋은 2026년 11월 5일입니다.
- garnet은(는) 어디에 사용할 수 있나요?
- 기존 클라이언트 코드를 유지하면서 .NET 서비스의 Redis 캐시를 대체할 때 다수의 클라이언트가 소규모 요청을 보내는 높은 동시성 워크로드를 처리할 때 Redis 호환 서버에서 C#으로 사용자 지정 캐시 로직이나 데이터 유형을 구현할 때 클라우드 VM에서 샤딩 및 복제된 캐시 클러스터를 운영할 때
- garnet는 어떻게 설치하나요?
- 프로젝트 문서의 시작하기 가이드를 따르세요
- garnet은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/microsoft/garnet
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
캐싱과 실시간 워크로드를 위한 고성능 Redis 호환 키-값 데이터 구조 서버로, Redis에서 포크되었습니다.
멀티스레드와 Redis 호환성을 갖춘 인메모리 데이터베이스로, 액티브-액티브 복제와 선택적 FLASH 스토리지를 지원하는 Redis 대체재입니다.
TTL 만료와 Redis, MongoDB, SQLite, PostgreSQL 등의 플러그형 백엔드를 지원하는 Node.js 키-값 저장소 라이브러리입니다.
.NET 애플리케이션에서 Redis와 Valkey, Garnet, AWS ElastiCache 같은 RESP 호환 서버에 연결할 수 있는 클라이언트 라이브러리입니다.
RocksDB를 스토리지 엔진으로 사용하고 Redis 프로토콜을 지원해 기존 Redis 클라이언트로 연결할 수 있는 분산형 NoSQL 키-값 데이터베이스입니다.