이 게시물에서는 가장 일반적인 Redis 사용 사례와 이러한 선택에 영향을 미치는 다양한 특성에 대해 설명합니다.
1. 세션 캐시
Redis의 가장 명백한 사용 사례 중 하나는 Redis를 세션 캐시로 사용하는 것입니다. Memcached와 같은 다른 세션 저장소에 비해 Redis를 사용할 때의 장점은 Redis가 지속성을 제공한다는 것입니다. 캐시를 유지 관리하는 것은 일관성과 관련하여 일반적으로 미션 크리티컬한 것은 아니지만 대부분의 사용자는 장바구니 세션이 모두 사라지면 정확히 즐기지 않을 것입니다. 이제 그럴까요?
운 좋게도 Redis가 수년 동안 사용하면서 세션 캐싱에 Redis를 적절하게 사용하는 방법에 대한 문서를 찾는 것은 매우 쉽습니다. 잘 알려진 전자상거래 플랫폼인 Magento에도 Redis용 플러그인이 있습니다!
지금 Redis용 500MB 요금제를 무료로 프로비저닝하세요.
2. 전체 페이지 캐시(FPC)
기본 세션 토큰 외에 Redis는 작동하기에 매우 쉬운 FPC 플랫폼을 제공합니다. Redis 인스턴스를 다시 시작해도 일관성으로 돌아가면 디스크 지속성을 사용하면 사용자가 페이지 로드 속도가 크게 감소하는 것을 볼 수 없습니다. PHP 네이티브 FPC와 같은 것에서 변경합니다.
Magento를 다시 예시로 사용하기 위해 Magento는 Redis를 전체 페이지 캐시 백엔드로 활용하는 플러그인을 제공합니다.
또한, WordPress 사용자를 위해 Pantheon에는 wp-redis라는 멋진 플러그인이 있어 지금까지 본 것 중 가장 빠른 페이지 로드를 달성할 수 있습니다!
3. 대기열
Redis의 인메모리 스토리지 엔진을 활용하여 목록 및 설정 작업을 수행하면 메시지 대기열에 사용할 수 있는 놀라운 플랫폼이 됩니다. Redis를 대기열로 사용하는 것은 Python과 같은 프로그래밍 언어로 된 목록과 함께 푸시/팝 작업을 사용하는 데 익숙한 사람이라면 누구나 자연스럽게 느낄 수 있을 것입니다.
"Redis 대기열"에 대한 빠른 Google 검색을 수행하면 Redis를 모든 대기열 요구 사항에 맞는 멋진 백엔드 유틸리티로 만드는 것을 목표로 하는 수많은 오픈 소스 프로젝트가 있다는 것을 곧 알게 될 것입니다. 예를 들어 Celery에는 Redis를 브로커로 사용하는 백엔드가 있으며 여기에서 확인할 수 있습니다.
4. 순위표/카운팅
Redis는 인메모리이기 때문에 증분 및 감소로 놀라운 작업을 수행합니다. 집합과 정렬된 집합은 또한 이러한 종류의 작업을 수행하려고 할 때 우리의 삶을 더 쉽게 만들고 Redis는 우연히 이 두 데이터 구조를 모두 제공합니다. 따라서 정렬된 집합에서 상위 10명의 사용자를 가져오려면 "user_scores"라고 하며 다음을 실행하면 됩니다.
ZRANGE user_scores 0 10
물론 이것은 점진적인 점수로 사용자의 순위를 매긴다고 가정합니다. 사용자와 점수를 모두 반환하려면 다음과 같이 실행할 수 있습니다.
ZRANGE user_scores 0 10 WITHSCORES
Agora Games에는 여기에서 찾을 수 있는 Redis를 데이터 저장소로 사용하는 리더보드의 Ruby를 사용한 놀라운 예가 있습니다.
5. 게시/구독
마지막(그러나 확실히 중요한 것은)은 Redis의 Pub/Sub 기능입니다. Pub/Sub의 사용 사례는 정말 무궁무진합니다. 사람들이 소셜 네트워크 연결, Pub/Sub 이벤트 기반 스크립트 트리거, Redis Pub/Sub를 사용하여 구축된 채팅 시스템에 사용하는 것을 보았습니다! (아니요, 꼭 보세요.)
Redis가 제공하는 모든 기능 중에서 사용자에게 제공할 수 있는 것은 많지만 항상 가장 적은 사랑을 받는 것 같습니다.
더 많은 Redis 리소스
어떤 사용 사례를 해결하기 위해 Redis를 사용하고 있습니까? Redis 사용 사례를 지원하는 데 도움이 되었으면 합니다. Redis 호스팅 오퍼링을 확인하거나 이메일을 통해 데이터 인프라 및 지원 방법에 대한 채팅을 설정하세요.