2017년 11월 7일 ObjectRocket.com/blog에 처음 게시되었습니다.
이 게시물은 이러한 선택에 영향을 미치는 가장 일반적인 Redis™ 사용 사례와 다양한 특성에 대해 설명합니다.
1. 세션 캐시
Redis의 가장 명백한 사용 사례 중 하나는 Redis를 세션 캐시로 사용하는 것입니다. Memcached와 같은 다른 세션 저장소보다 Redis를 사용하는 이점은 Redis가 지속성을 제공한다는 것입니다. 캐시를 유지 관리하는 것은 일관성과 관련하여 일반적으로 미션 크리티컬하지 않지만 대부분의 사용자는 모든 장바구니 세션이 사라지면 화를 낼 수 있습니다.
운 좋게도 Redis가 수년에 걸쳐 사용하면서 세션 캐싱에 Redis를 적절하게 사용하는 방법에 대한 문서를 쉽게 찾을 수 있습니다. 잘 알려진 전자 상거래 플랫폼인 EvenMagento®에는 Redis용 플러그인이 있습니다.
2. 전체 페이지 캐시
기본 세션 토큰 외에 Redis는 작동할 간단한 FPC(전체 페이지 캐시) 플랫폼을 제공합니다. 일관성 요인도 여기에 있습니다. 디스크 지속성을 사용하여 Redis 인스턴스를 다시 시작해도 사용자는 페이지 로드 속도가 감소하는 것을 볼 수 없습니다. 이는 PHP 기본 FPC와 유사한 수준에서 급격한 변화입니다.
Magento는 Redis를 전체 페이지 캐시 백엔드로 사용할 수 있는 플러그인을 제공합니다.
WordPress® 사용자를 위해 Pantheon™에는 지금까지 본 것 중 가장 빠른 페이지 로드를 달성하는 데 도움이 되는 우수한 플러그인인 wp-redis가 있습니다!
3. 대기열
Redis 인메모리 스토리지 엔진 할일 목록 및 설정 작업을 활용하면 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가 제공하는 모든 기능 중에서 사용자에게 제공할 수 있는 것은 많지만 항상 가장 적은 사랑을 받는 것 같습니다.
Rackspace DBA 서비스에 대해 자세히 알아보십시오.
피드백 탭을 사용하여 의견을 작성하거나 질문하십시오. 저희와 대화를 시작할 수도 있습니다.