Azure Cache for RedisAzure Cache for Redis

Azure Cache for Redis는 Redis 소프트웨어를 기반으로 하는 메모리 내 데이터 저장소를 제공합니다.Azure Cache for Redis provides an in-memory data store based on the Redis software. Redis는 백 엔드 데이터 저장소에서 많이 사용하는 애플리케이션의 성능과 확장성을 개선합니다.Redis improves the performance and scalability of an application that uses on backend data stores heavily. 자주 액세스하는 데이터를 빠르게 쓰고 읽을 수 있는 서버 메모리에 보관하여 대량의 애플리케이션 요청을 처리할 수 있습니다.It is able to process large volumes of application request by keeping frequently accessed data in the server memory that can be written to and read from quickly. Redis는 최신 애플리케이션에 매우 짧은 대기 시간 및 높은 처리량의 데이터 스토리지 솔루션을 제공합니다.Redis brings a critical low-latency and high-throughput data storage solution to modern applications.

Azure Cache for Redis는 Redis 오픈 소스와 Redis Labs의 상용 제품을 관리되는 서비스로 제공합니다.Azure Cache for Redis offers both the Redis open-source and a commercial product from Redis Labs as a managed service. 안전한 전용 Redis 서버 인스턴스와 전체 Redis API 호환성을 제공합니다.It provides secure and dedicated Redis server instances and full Redis API compatibility. 이 서비스는 Microsoft에서 운영되고, Azure에서 호스팅되며, Azure 내부 또는 외부의 모든 애플리케이션에서 액세스할 수 있습니다.The service is operated by Microsoft, hosted on Azure, and accessible to any application within or outside of Azure.

Azure Cache for Redis는 분산 데이터 또는 콘텐츠 캐시, 세션 저장소, 메시지 브로커 등으로 사용할 수 있습니다.Azure Cache for Redis can be used as a distributed data or content cache, a session store, a message broker, and more. 독립 실행형으로 배포하거나 Azure SQL 또는 Cosmos DB와 같은 다른 Azure 데이터베이스 서비스와 함께 배포할 수 있습니다.It can be deployed as a standalone or along side with other Azure database service, such as Azure SQL or Cosmos DB.

주요 시나리오Key scenarios

Azure Cache for Redis는 일반적인 애플리케이션 아키텍처 패턴을 지원하여 애플리케이션 성능을 향상시킵니다.Azure Cache for Redis improves application performance by supporting common application architecture patterns. 가장 일반적인 패턴의 일부는 다음과 같습니다.Some of the most common include the following:

패턴Pattern 설명Description
데이터 캐시Data cache 데이터베이스는 너무 커서 캐시로 직접 로드할 수 없습니다.Databases are often too large to load directly into a cache. 캐시 배제 패턴을 사용하여 필요할 때만 캐시에 데이터를 로드하는 것이 일반적입니다.It is common to use the cache-aside pattern to load data into the cache only as needed. 시스템에서 데이터를 변경하는 경우 시스템은 바로 그때 다른 클라이언트로 배포되는 캐시를 업데이트할 수도 있습니다.When the system makes changes to the data, the system can also update the cache, which is then distributed to other clients. 또한 시스템에서 데이터에 대한 만료 날짜를 설정하거나 제거 정책을 사용하여 데이터 업데이트를 캐시로 트리거할 수 있습니다.Additionally, the system can set an expiration on data, or use an eviction policy to trigger data updates into the cache.
콘텐츠 캐시Content cache 헤더, 바닥글, 배너와 같은 정적 콘텐츠를 사용하는 템플릿에서 많은 웹 페이지가 생성됩니다.Many web pages are generated from templates that use static content such as headers, footers, banners. 이러한 정적 항목은 자주 변경되지 않습니다.These static items shouldn't change often. 메모리 내 캐시를 사용하면 백 엔드 데이터 저장소와 비교할 때 정적 콘텐츠에 빠르게 액세스할 수 있습니다.Using an in-memory cache provides quick access to static content compared to backend datastores. 이 패턴은 처리 시간 및 서버 부하를 줄여 웹 서버 응답성을 높일 수 있습니다.This pattern reduces processing time and server load, allowing web servers to be more responsive. 이를 통해 로드를 처리하는 데 필요한 서버 수를 줄일 수 있습니다.It can allow you to reduce the number of servers needed to handle loads. Azure Cache for Redis는 ASP.NET을 사용하여 이 패턴을 지원할 수 있도록 Redis 출력 캐시 공급자를 제공합니다.Azure Cache for Redis provides the Redis Output Cache Provider to support this pattern with ASP.NET.
세션 저장소Session store 이 패턴은 일반적으로 웹 애플리케이션에서 사용자 쿠키와 연결할 수 있는 쇼핑 카트 및 다른 사용자 기록 데이터와 함께 사용됩니다.This pattern is commonly used with shopping carts and other user history data that a web application may want to associate with user cookies. 쿠키에 너무 많이 저장하면 쿠키 크기가 증가하고 모든 요청에서 전달 및 유효성 검사가 수행되므로 성능이 저하될 수 있습니다.Storing too much in a cookie can have a negative impact on performance as the cookie size grows and is passed and validated with every request. 일반적인 해결책은 쿠키를 키로 사용하여 데이터베이스에 데이터를 쿼리하는 것입니다.A typical solution uses the cookie as a key to query the data in a database. Azure Cache for Redis와 같은 메모리 내 캐시를 사용하면 전체 관계형 데이터베이스와의 상호 작용보다 훨씬 더 빠르게 사용자와 정보를 연결할 수 있습니다.Using an in-memory cache, like Azure Cache for Redis, to associate information with a user is much faster than interacting with a full relational database.
작업 및 메시지 큐Job and message queuing 애플리케이션은 요청과 연결된 작업을 실행하는 데 시간이 걸릴 때 종종 작업을 추가합니다.Applications often add tasks to a queue when the operations associated with the request take time to execute. 오래 실행되는 작업은 종종 다른 서버에 의해 순서대로 처리되도록 큐에 대기됩니다.Longer running operations are queued to be processed in sequence, often by another server. 이러한 작업 지연 메서드를 태스크 큐라고 합니다.This method of deferring work is called task queuing. Azure Cache for Redis는 애플리케이션에서 이 패턴을 사용하도록 설정하는 분산 큐를 제공합니다.Azure Cache for Redis provides a distributed queue to enable this pattern in your application.
분산 트랜잭션Distributed transactions 애플리케이션에는 단일 원자성 작업으로 실행하기 위해 백 엔드 데이터 저장소에 대한 일련의 명령이 필요할 수 있습니다.Applications sometimes require a series of commands against a backend data-store to execute as a single atomic operation. 모든 명령은 성공하거나 모두 초기 상태로 롤백되어야 합니다.All commands must succeed, or all must be rolled back to the initial state. Azure Cache for Redis는 명령의 일괄 처리 실행을 단일 트랜잭션으로 지원합니다.Azure Cache for Redis supports executing a batch of commands as a single transaction.

Redis 버전Redis versions

Azure Cache for Redis는 OSS Redis 버전 4.x를 지원하고, 미리 보기로 6.0을 지원합니다.Azure Cache for Redis supports OSS Redis version 4.x and, as a preview, 6.0. 최신 버전을 제공하기 위해 Redis 5.0을 건너뛰기로 결정했습니다.We've made the decision to skip Redis 5.0 to bring you the latest version. 이전에는 Azure Cache for Redis가 단일 Redis 버전만 유지 관리했습니다.Previously, Azure Cache for Redis only maintained a single Redis version. 최신 주 릴리스 업그레이드와 안정적인 이전 버전이 하나 이상 제공됩니다.It will provide a newer major release upgrade and at least one older stable version going forward. 애플리케이션에 가장 적합한 버전을 선택할 수 있습니다.You can choose which version works the best for your application.

서비스 계층Service tiers

Azure Cache for Redis는 다음 계층에서 사용할 수 있습니다.Azure Cache for Redis is available in the following tiers:

계층Tier DescriptionDescription
BasicBasic 단일 VM에서 실행되는 OSS Redis 캐시.An OSS Redis cache running on a single VM. 이 계층에는 SLA(서비스 수준 계약)가 없으며 개발/테스트 및 중요하지 않은 작업에 적합합니다.This tier has no service-level agreement (SLA) and is ideal for development/test and non-critical workloads.
표준Standard 복제된 구성의 두 VM에서 실행되는 OSS Redis 캐시.An OSS Redis cache running on two VMs in a replicated configuration.
프리미엄Premium 고성능 OSS Redis 캐시.High-performance OSS Redis caches. 이 계층은 더 높은 처리량, 더 짧은 대기 시간, 더 나은 가용성 및 추가 기능을 제공합니다.This tier offers higher throughput, lower latency, better availability, and more features. 프리미엄 캐시는 기본 또는 표준 캐시에 비해 더 강력한 VM에 배포됩니다.Premium caches are deployed on more powerful VMs compared to those for Basic or Standard caches.
EnterpriseEnterprise Redis Labs의 Redis Enterprise 소프트웨어로 구동되는 고성능 캐시.High-performance caches powered by Redis Labs' Redis Enterprise software. 이 계층은 RediSearch, RedisBloom 및 RedisTimeSeries를 포함한 Redis 모듈을 지원합니다.This tier supports Redis modules including RediSearch, RedisBloom, and RedisTimeSeries. 또한 프리미엄 계층보다 훨씬 더 높은 가용성을 제공합니다.In addition, it offers even higher availability than the Premium tier.
Enterprise FlashEnterprise Flash Redis Labs의 Redis Enterprise 소프트웨어로 구동되는 비용 효율적인 대용량 캐시.Cost-effective large caches powered by Redis Labs' Redis Enterprise software. 이 계층은 Redis 데이터 스토리지를 VM의 DRAM보다 저렴한 비휘발성 메모리로 확장합니다.This tier extends Redis data storage to non-volatile memory, which is cheaper than DRAM, on a VM. 전체 GB당 메모리 비용이 줄어듭니다.It reduces the overall per-GB memory cost.

기능 비교Feature comparison

Azure Cache for Redis 가격 책정에서는 각 계층의 자세한 비교를 제공합니다.The Azure Cache for Redis Pricing provides a detailed comparison of each tier. 다음 표는 계층별로 지원하는 기능 몇 가지를 설명하는 데 도움이 됩니다.The following table helps describe some of the features supported by tier:

기능 설명Feature Description BasicBasic StandardStandard PremiumPremium EnterpriseEnterprise Enterprise FlashEnterprise Flash
Service Level Agreement(서비스 수준 약정)Service Level Agreement (SLA) -
데이터 암호화Data encryption
네트워크 격리Network isolation
크기 조정Scaling
영역 중복Zone redundancy - -
지역에서 복제Geo-replication - - - -
데이터 지속성Data persistence - - - -
OSS 클러스터OSS cluster - -
모듈Modules - - - -
Import/ExportImport/Export - -
예약된 업데이트Scheduled updates - -

올바른 계층 선택Choosing the right tier

Azure Cache for Redis 계층을 선택하는 경우 다음 사항을 고려해야 합니다.You should consider the following when choosing an Azure Cache for Redis tier:

  • 메모리: 기본 및 표준 계층은 250MB - 53GB(프리미엄 계층 6GB - 1.2TB, 엔터프라이즈 계층 12GB - 14TB)를 제공합니다.Memory: The Basic and Standard tiers offer 250 MB – 53 GB; the Premium tier 6 GB - 1.2 TB; the Enterprise tiers 12 GB - 14 TB. 120GB보다 큰 프리미엄 계층 캐시를 만들려면 Redis OSS 클러스터링을 사용하면 됩니다.To create a Premium tier cache larger than 120 GB, you can use Redis OSS clustering. 자세한 내용은 Azure Cache for Redis 가격을 참조하세요.For more information, see Azure Cache for Redis Pricing. 자세한 내용은 프리미엄 Azure Cache for Redis에 대한 클러스터링을 구성하는 방법을 참조하세요.For more information, see How to configure clustering for a Premium Azure Cache for Redis.
  • 네트워크 성능: 높은 처리량이 필요한 워크로드가 있는 경우 프리미엄 또는 엔터프라이즈 계층은 기본 또는 표준에 비해 더 많은 대역폭을 제공합니다.Network performance: If you have a workload that requires high throughput, the Premium or Enterprise tier offers more bandwidth compared to Basic or Standard. 또한 각 계층 안에서는 캐시를 호스팅하는 기본 VM으로 인해 캐시 크기가 클수록 대역폭이 큽니다.Also within each tier, larger size caches have more bandwidth because of the underlying VM that hosts the cache. 자세한 내용은 Azure Cache for Redis 성능을 참조하세요.For more information, see Azure Cache for Redis performance.
  • 처리량: 프리미엄 계층에서 사용 가능한 최대 처리량을 제공합니다.Throughput: The Premium tier offers the maximum available throughput. 캐시 서버 또는 클라이언트가 대역폭 제한에 도달하면 클라이언트 측에서 시간 초과를 수신할 수 있습니다.If the cache server or client reaches the bandwidth limits, you may receive timeouts on the client side. 자세한 내용은 다음 표를 참조하세요.For more information, see the following table.
  • 고가용성: Azure Cache for Redis는 여러 고가용성 옵션을 제공합니다.High availability: Azure Cache for Redis provides multiple high availability options. SLA에 따라 표준, 프리미엄 또는 엔터프라이즈 캐시를 사용할 수 있도록 보장합니다.It guarantees that a Standard, Premium, or Enterprise cache is available according to our SLA. SLA에서는 캐시 엔드포인트에 대한 연결만 다룹니다.The SLA only covers connectivity to the cache endpoints. SLA는 데이터 손실로부터의 보호는 다루지 않습니다.The SLA does not cover protection from data loss. 데이터 손실에 대한 복원력을 늘리기 위해 프리미엄 계층에서 Redis 데이터 지속성 기능을 사용하는 것이 좋습니다.We recommend using the Redis data persistence feature in the Premium tier to increase resiliency against data loss.
  • 데이터 지속성: 프리미엄 계층을 사용하면 Azure Storage 계정에서 캐시 데이터를 유지할 수 있습니다.Data persistence: The Premium tier allows you to persist the cache data in an Azure Storage account. 다른 계층에서는 데이터가 메모리에만 저장됩니다.In other tiers, data are stored only in memory. 기본 인프라 문제로 인해 데이터 손실이 발생할 수 있습니다.Underlying infrastructure issues might result in potential data loss. 데이터 손실에 대한 복원력을 늘리기 위해 프리미엄 계층에서 Redis 데이터 지속성 기능을 사용하는 것이 좋습니다.We recommend using the Redis data persistence feature in the Premium tier to increase resiliency against data loss. Azure Cache for Redis는 Redis 지속성에서 RDB 및 AOF(미리 보기) 옵션을 제공합니다.Azure Cache for Redis offers RDB and AOF (preview) options in Redis persistence. 자세한 내용은 프리미엄 Azure Redis Cache에 대한 지속성을 구성하는 방법을 참조하세요.For more information, see How to configure persistence for a Premium Azure Cache for Redis.
  • 네트워크 격리: Azure Private Link 및 VNET(Virtual Network) 배포는 Azure Cache for Redis에 대해 향상된 보안 및 트래픽 격리를 제공합니다.Network isolation: Azure Private Link and Virtual Network (VNET) deployments provide enhanced security and traffic isolation for your Azure Cache for Redis. VNET을 사용하면 네트워크 액세스 제어 정책을 통해 액세스를 추가로 제한할 수 있습니다.VNET allows you to further restrict access through network access control policies. 자세한 내용은 Azure Private Link가 있는 Azure Cache for Redis프리미엄 Azure Cache for Redis에 대한 Virtual Network 지원을 구성하는 방법을 참조하세요.For more information, see Azure Cache for Redis with Azure Private Link and How to configure Virtual Network support for a Premium Azure Cache for Redis.
  • 최대 클라이언트 연결 수: 프리미엄 계층에서는 Redis에 연결할 수 있는 최대 클라이언트 수를 제공하여 더 큰 크기의 캐시에 대해 더 많은 수의 연결을 제공할 수 있습니다.Maximum number of client connections: The Premium tier offers the maximum number of clients that can connect to Redis, with a higher number of connections for larger sized caches. 클러스터링은 클러스터형 캐시에 사용할 수 있는 연결 수를 늘리지 않습니다.Clustering does not increase the number of connections available for a clustered cache. 자세한 내용은 Azure Cache for Redis 가격을 참조하세요.For more information, see Azure Cache for Redis pricing.
  • Redis 서버 전용 코어: C0을 제외한 모든 캐시는 전용 VM 코어를 실행합니다.Dedicated core for Redis server: All caches except C0 run dedicated VM cores.
  • 단일 스레드 처리: Redis는 의도적으로 명령 처리에 하나의 스레드만 사용합니다.Single-threaded processing: Redis, by design, uses only one thread for command processing. Azure Cache for Redis는 I/O 처리를 위해 추가 코어도 활용합니다.Azure Cache for Redis also utilizes additional cores for I/O processing. 코어 수가 많을수록 선형 크기 조정이 생성되지 않더라도 처리량 성능이 향상됩니다.Having more cores improves throughput performance even though it may not produce linear scaling. 또한 일반적으로 VM 크기가 클수록 작은 크기보다 대역폭 제한이 높습니다.Furthermore, larger VM sizes typically come with higher bandwidth limits than smaller ones. 이를 통해 애플리케이션에서 시간 초과를 유발하는 네트워크 포화를 방지할 수 있습니다.That helps you avoid network saturation, which will cause timeouts in your application.
  • 향상된 성능: 프리미엄 및 엔터프라이즈 계층의 캐시는 프로세서가 더 빠른 하드웨어에 배포되어 기본 또는 표준 계층에 비해 더 나은 성능을 제공합니다.Performance improvements: Caches in the Premium and Enterprise tiers are deployed on hardware that has faster processors, giving better performance compared to the Basic or Standard tier. 프리미엄 계층 캐시는 처리량은 더 높고 대기 시간은 더 짧습니다.Premium tier Caches have higher throughput and lower latencies. 자세한 내용은 Azure Cache for Redis 성능을 참조하세요.For more information, see Azure Cache for Redis performance.

캐시를 만든 후 기본 계층에서 프리미엄 계층으로 확장할 수 있습니다.You can scale your cache from the Basic tier up to Premium after it has been created. 더 낮은 계층으로의 축소는 지원되지 않습니다.Scaling down to a lower tier is not supported. 단계별 크기 조정 지침에 대해서는 Azure Cache for Redis 크기를 조정하는 방법크기 조정 작업을 자동화하는 방법을 참조하세요.For step-by-step scaling instructions, see How to Scale Azure Cache for Redis and How to automate a scaling operation.

엔터프라이즈 계층 요구 사항Enterprise tier requirements

엔터프라이즈 계층은 Redis Labs의 Redis 상용 버전인 Redis Enterprise를 사용합니다.The Enterprise tiers rely on Redis Enterprise, a commercial version of Redis from Redis Labs. 고객은 Azure Marketplace 제품을 통해 이 소프트웨어에 대한 라이선스를 취득하고 비용을 지불합니다.Customers will obtain and pay for a license to this software through an Azure Marketplace offer. Azure Cache for Redis는 별도로 작업을 수행할 필요가 없도록 라이선스 획득을 용이하게 합니다.Azure Cache for Redis will facilitate the license acquisition so that you won't have to do it separately. Azure Marketplace에서 구매하려면 다음과 같은 필수 구성 요소가 있어야 합니다.To purchase in the Azure Marketplace, you must have the following prerequisites:

  • Azure 구독에는 유효한 지불 수단이 있습니다.Your Azure subscription has a valid payment instrument. Azure 크레딧 또는 체험 MSDN 구독은 지원되지 않습니다.Azure credits or free MSDN subscriptions are not supported.
  • 구독의 소유자 또는 기여자입니다.You're an Owner or Contributor of the subscription.
  • 조직에서 Azure Marketplace 구매를 허용합니다.Your organization allows Azure Marketplace purchases.
  • 프라이빗 Marketplace를 사용하는 경우 Redis Labs Enterprise 제품을 포함해야 합니다.If you use a private Marketplace, it must contain the Redis Labs Enterprise offer.

다음 단계Next steps