Azure Cache for Redis는 Redis 오픈 소스 메모리 내 데이터 저장소를 기반으로 합니다. 많은 프로그래밍 언어의 Redis 클라이언트는 Azure Redis에 액세스할 수 있습니다. 애플리케이션은 오픈 소스 Redis와 호환되는 모든 클라이언트 라이브러리를 사용하여 Azure Redis 캐시에 연결할 수 있습니다.
각 클라이언트 라이브러리에는 Redis 명령을 사용하여 Redis 서버를 호출하는 자체 API가 있습니다. 클라이언트 라이브러리는 모든 Redis 서버와 통신하도록 빌드됩니다.
클라이언트는 자체 라이브러리에 대한 참조 설명서를 유지하고 클라이언트 라이브러리 개발자 커뮤니티를 통해 지원을 받을 수 있는 링크를 제공합니다. Microsoft와 Azure Redis 팀은 클라이언트 라이브러리에 대한 개발 또는 지원을 소유하지 않습니다.
Microsoft 및 Azure Redis는 인기도 및 질문에 대답할 수 있는 활성 온라인 지원 커뮤니티가 있는지 여부에 따라 일부 라이브러리를 권장합니다. 이러한 라이브러리는 활성 개발 중이며 안정성 및 성능이 향상된 새 버전을 릴리스하는 경우가 많습니다. Microsoft는 사용 가능한 최신 버전을 사용하고 새 버전을 사용할 수 있게 되면 정기적으로 업그레이드하는 것이 좋습니다.
다음 표에는 일부 권장 클라이언트 라이브러리에 대한 링크 및 설명서가 나와 있습니다.
클라이언트 라이브러리 | 언어 | GitHub 리포지토리 |
설명서 |
---|---|---|---|
StackExchange.Redis | C#/.NET | https://github.com/StackExchange/StackExchange.Redis | 스택익스체인지.Redis |
제디스 (미국) | 자바 | https://github.com/redis/jedis | |
상추 | 자바 | https://github.com/lettuce-io/ | Lettuce - Java Redis 고급 클라이언트 |
Redisson | 자바 | https://github.com/redisson/redisson | Redisson - Redis Java 클라이언트 Real-Time Data Platform |
ioredis | Node.js | https://github.com/luin/ioredis | 클래스 |
node_redis | Node.js | https://github.com/redis/node-redis |
참고 항목
애플리케이션은 오픈 소스 Redis와 호환되는 모든 클라이언트 라이브러리를 사용하여 Azure Redis 인스턴스에 연결할 수 있습니다.
클라이언트 라이브러리 관련 참고 자료
클라이언트 라이브러리 관련 지침 및 모범 사례는 다음 링크를 참조하세요.
클라이언트 라이브러리 사용 방법
참조 설명서 외에도 다음 자습서를 사용하여 다른 언어 및 캐시 클라이언트를 사용하여 Azure Redis를 시작할 수 있습니다.
- .NET Framework 앱 코딩
- .NET Core 앱 코딩
- ASP.NET 웹앱 코딩
- ASP.NET Core 웹앱 코딩
- Java 앱 코딩
- Node.js 앱 코딩
- Python 앱 코딩
Redisson에 대한 모범 사례(Java)
Redisson 클라이언트 라이브러리에 권장되는 몇 가지 모범 사례는 다음과 같습니다.
Redisson 3.14.1 이상을 사용합니다. 이전 버전에는 장애 조치(failover) 후 문제를 초래하는 알려진 연결 누수 문제가 있습니다.
애플리케이션에서 사용하는 기능에 영향을 줄 수 있는 알려진 문제에 대한 Redisson 변경 로그를 모니터링합니다. 자세한 내용은 Redisson 릴리스 기록 및 Redisson FAQ를 참조하세요.
readMode
구성 설정을 수정하여 복제본에서 읽기 전략을 사용하지 않도록 하십시오. 다른 클라이언트와 달리 Redisson은 복제본에서 읽기 를 기본값으로 사용합니다.적극적인 다시 연결 동작 또는 연결 폭풍의 위험을 줄이려면 최소 연결을 더 적게 설정하는 것이 좋습니다.
Redisson에는 구성 가능한 최소 및 최대 설정이 있는 연결 풀링 전략이 있으며 기본 최소값은 큽니다. 큰 기본값은 적극적인 다시 연결 동작 또는 연결 폭풍에 기여할 수 있습니다. 이러한 위험을 줄이려면 더 적은 수의 연결을 사용하는 것이 좋습니다. 몇 가지 연결을 통해 명령 또는 명령 일괄 처리를 효율적으로 파이프라인할 수 있습니다.
필요한 경우 유휴 연결 시간 제한을 다시 설정합니다. Redisson에는 기본 10초 유휴 연결 시간 제한이 있어 이상보다 더 많은 연결을 닫고 다시 열 수 있습니다.
Java EE JCache와 함께 Redisson을 사용하여 AKS(Azure Kubernetes Service) 클러스터에 HTTP 세션 상태를 저장하는 방법에 대한 자세한 내용은 WebSphere Liberty 또는 Open Liberty에 대한 세션 캐시로 Azure Redis 사용을 참조하세요.
클러스터 모드에 대해 다음과 같은 권장 기준 구성을 사용하고 필요에 따라 수정합니다.
clusterServersConfig: idleConnectionTimeout: 30000 connectTimeout: 15000 timeout: 5000 retryAttempts: 3 retryInterval: 3000 checkLockSyncedSlaves: false failedSlaveReconnectionInterval: 15000 failedSlaveCheckInterval: 60000 subscriptionsPerConnection: 5 clientName: "redisson" loadBalancer: !<org.redisson.connection.balancer.RoundRobinLoadBalancer> {} subscriptionConnectionMinimumIdleSize: 1 subscriptionConnectionPoolSize: 50 slaveConnectionMinimumIdleSize: 2 slaveConnectionPoolSize: 24 masterConnectionMinimumIdleSize: 2 masterConnectionPoolSize: 24 readMode: "MASTER" subscriptionMode: "MASTER" nodeAddresses: - "redis://mycacheaddress:6380" scanInterval: 1000 pingConnectionInterval: 60000 keepAlive: false tcpNoDelay: true