Microsoft.Cache redis 2020-12-01

Bicep resource definition

The redis resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Cache/redis resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.Cache/redis@2020-12-01' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
    {customized property}: 'string'
  properties: {
    enableNonSslPort: bool
    minimumTlsVersion: 'string'
    publicNetworkAccess: 'string'
    redisConfiguration: {
      'aof-backup-enabled': 'string'
      'aof-storage-connection-string-0': 'string'
      'aof-storage-connection-string-1': 'string'
      authnotrequired: 'string'
      'maxfragmentationmemory-reserved': 'string'
      'maxmemory-delta': 'string'
      'maxmemory-policy': 'string'
      'maxmemory-reserved': 'string'
      'rdb-backup-enabled': 'string'
      'rdb-backup-frequency': 'string'
      'rdb-backup-max-snapshot-count': 'string'
      'rdb-storage-connection-string': 'string'
      {customized property}: 'string'
    }
    redisVersion: 'string'
    replicasPerMaster: int
    replicasPerPrimary: int
    shardCount: int
    sku: {
      capacity: int
      family: 'string'
      name: 'string'
    }
    staticIP: 'string'
    subnetId: 'string'
    tenantSettings: {
      {customized property}: 'string'
    }
  }
  zones: [
    'string'
  ]
}

Property values

redis

Name Description Value
name The resource name string (required)

Character limit: 1-63

Valid characters:
Alphanumerics and hyphens.

Start and end with alphanumeric. Consecutive hyphens not allowed.

Resource name must be unique across Azure.
location The geo-location where the resource lives string (required)
tags Resource tags. Dictionary of tag names and values. See Tags in templates
properties Redis cache properties. RedisCreatePropertiesOrRedisProperties (required)
zones A list of availability zones denoting where the resource needs to come from. string[]

RedisCreatePropertiesOrRedisProperties

Name Description Value
enableNonSslPort Specifies whether the non-ssl Redis server port (6379) is enabled. bool
minimumTlsVersion Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') '1.0'
'1.1'
'1.2'
publicNetworkAccess Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled' 'Disabled'
'Enabled'
redisConfiguration All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc. RedisCommonPropertiesRedisConfiguration
redisVersion Redis version. This should be in the form 'major[.minor[.build]]' (only 'major' is required) or the value 'latest' which refers to the latest stable Redis version that is available. Only the major and minor version are used in a PUT/PATCH request. Supported versions: 4.0, 6.0. string
replicasPerMaster The number of replicas to be created per primary. int
replicasPerPrimary The number of replicas to be created per primary. int
shardCount The number of shards to be created on a Premium Cluster Cache. int
sku The SKU of the Redis cache to deploy. Sku (required)
staticIP Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; auto assigned by default. string

Constraints:
Pattern = ^\d+\.\d+\.\d+\.\d+$
subnetId The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network,ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 string
tenantSettings A dictionary of tenant settings RedisCommonPropertiesTenantSettings

RedisCommonPropertiesRedisConfiguration

Name Description Value
aof-backup-enabled Specifies whether the aof backup is enabled string
aof-storage-connection-string-0 First storage account connection string string
aof-storage-connection-string-1 Second storage account connection string string
authnotrequired Specifies whether the authentication is disabled. Setting this property is highly discouraged from security point of view. string
maxfragmentationmemory-reserved Value in megabytes reserved for fragmentation per shard string
maxmemory-delta Value in megabytes reserved for non-cache usage per shard e.g. failover. string
maxmemory-policy The eviction strategy used when your data won't fit within its memory limit. string
maxmemory-reserved Value in megabytes reserved for non-cache usage per shard e.g. failover. string
rdb-backup-enabled Specifies whether the rdb backup is enabled string
rdb-backup-frequency Specifies the frequency for creating rdb backup string
rdb-backup-max-snapshot-count Specifies the maximum number of snapshots for rdb backup string
rdb-storage-connection-string The storage account connection string for storing rdb file string
{customized property} string

Sku

Name Description Value
capacity The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4). int (required)
family The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). 'C'
'P' (required)
name The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) 'Basic'
'Premium'
'Standard' (required)

RedisCommonPropertiesTenantSettings

Name Description Value
{customized property} string

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Scalable Umbraco CMS Web App

Deploy to Azure
This template provides a easy way to deploy umbraco CMS web app on Azure App Service Web Apps.
eShop Website with ILB ASE

Deploy to Azure
An App Service Environment is a Premium service plan option of Azure App Service that provides a fully isolated and dedicated environment for securely running Azure App Service apps at high scale, including Web Apps, Mobile Apps, and API Apps.
Deploy API Management with an external Azure Cache for Redis

Deploy to Azure
This template demonstrates how to create an instance of Azure API Management in the Consumption tier with an external Azure Cache for Redis instance as the API Management external cache.
Create a Redis Cache using a template

Deploy to Azure
This template creates an Azure Redis Cache with diagnostics data kept in a storage account.
Create a Redis Cache with Microsoft Entra Authentication.

Deploy to Azure
This template creates a Redis Cache. Then assigns a built-in access policy to a redis user. Then creates a custom access policy. And then assigns the custom access policy to another Redis user.
Create a Premium Redis Cache with clustering

Deploy to Azure
This template shows how to configure clustering in a premium Azure Redis Cache instance.
Create Premium Redis Cache with data persistence

Deploy to Azure
This template shows how to configure persistence in a premium Azure Redis Cache instance.
Create Premium Redis Cache deployed into a Virtual Network

Deploy to Azure
This template shows how to deploy a premium Azure Redis Cache instance into an existing Virtual Network
Create two geo-replicated caches in a Virtual Network

Deploy to Azure
This template shows how to deploy two Premium tier Azure Cache for Redis instances into separate Virtual Networks and link them with geo-replication.
Create a Web App + Redis Cache + SQL DB with a template

Deploy to Azure
This template creates an Azure Web App with Redis cache and a SQL Database.
Create a Web App plus Redis Cache using a template

Deploy to Azure
This template creates an Azure Web App with Redis cache.

ARM template resource definition

The redis resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Cache/redis resource, add the following JSON to your template.

{
  "type": "Microsoft.Cache/redis",
  "apiVersion": "2020-12-01",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
    "{customized property}": "string"
  "properties": {
    "enableNonSslPort": "bool",
    "minimumTlsVersion": "string",
    "publicNetworkAccess": "string",
    "redisConfiguration": {
      "aof-backup-enabled": "string",
      "aof-storage-connection-string-0": "string",
      "aof-storage-connection-string-1": "string",
      "authnotrequired": "string",
      "maxfragmentationmemory-reserved": "string",
      "maxmemory-delta": "string",
      "maxmemory-policy": "string",
      "maxmemory-reserved": "string",
      "rdb-backup-enabled": "string",
      "rdb-backup-frequency": "string",
      "rdb-backup-max-snapshot-count": "string",
      "rdb-storage-connection-string": "string",
      "{customized property}": "string"
    },
    "redisVersion": "string",
    "replicasPerMaster": "int",
    "replicasPerPrimary": "int",
    "shardCount": "int",
    "sku": {
      "capacity": "int",
      "family": "string",
      "name": "string"
    },
    "staticIP": "string",
    "subnetId": "string",
    "tenantSettings": {
      "{customized property}": "string"
    }
  },
  "zones": [ "string" ]
}

Property values

redis

Name Description Value
type The resource type 'Microsoft.Cache/redis'
apiVersion The resource api version '2020-12-01'
name The resource name string (required)

Character limit: 1-63

Valid characters:
Alphanumerics and hyphens.

Start and end with alphanumeric. Consecutive hyphens not allowed.

Resource name must be unique across Azure.
location The geo-location where the resource lives string (required)
tags Resource tags. Dictionary of tag names and values. See Tags in templates
properties Redis cache properties. RedisCreatePropertiesOrRedisProperties (required)
zones A list of availability zones denoting where the resource needs to come from. string[]

RedisCreatePropertiesOrRedisProperties

Name Description Value
enableNonSslPort Specifies whether the non-ssl Redis server port (6379) is enabled. bool
minimumTlsVersion Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') '1.0'
'1.1'
'1.2'
publicNetworkAccess Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled' 'Disabled'
'Enabled'
redisConfiguration All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc. RedisCommonPropertiesRedisConfiguration
redisVersion Redis version. This should be in the form 'major[.minor[.build]]' (only 'major' is required) or the value 'latest' which refers to the latest stable Redis version that is available. Only the major and minor version are used in a PUT/PATCH request. Supported versions: 4.0, 6.0. string
replicasPerMaster The number of replicas to be created per primary. int
replicasPerPrimary The number of replicas to be created per primary. int
shardCount The number of shards to be created on a Premium Cluster Cache. int
sku The SKU of the Redis cache to deploy. Sku (required)
staticIP Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; auto assigned by default. string

Constraints:
Pattern = ^\d+\.\d+\.\d+\.\d+$
subnetId The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network,ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 string
tenantSettings A dictionary of tenant settings RedisCommonPropertiesTenantSettings

RedisCommonPropertiesRedisConfiguration

Name Description Value
aof-backup-enabled Specifies whether the aof backup is enabled string
aof-storage-connection-string-0 First storage account connection string string
aof-storage-connection-string-1 Second storage account connection string string
authnotrequired Specifies whether the authentication is disabled. Setting this property is highly discouraged from security point of view. string
maxfragmentationmemory-reserved Value in megabytes reserved for fragmentation per shard string
maxmemory-delta Value in megabytes reserved for non-cache usage per shard e.g. failover. string
maxmemory-policy The eviction strategy used when your data won't fit within its memory limit. string
maxmemory-reserved Value in megabytes reserved for non-cache usage per shard e.g. failover. string
rdb-backup-enabled Specifies whether the rdb backup is enabled string
rdb-backup-frequency Specifies the frequency for creating rdb backup string
rdb-backup-max-snapshot-count Specifies the maximum number of snapshots for rdb backup string
rdb-storage-connection-string The storage account connection string for storing rdb file string
{customized property} string

Sku

Name Description Value
capacity The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4). int (required)
family The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). 'C'
'P' (required)
name The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) 'Basic'
'Premium'
'Standard' (required)

RedisCommonPropertiesTenantSettings

Name Description Value
{customized property} string

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Scalable Umbraco CMS Web App

Deploy to Azure
This template provides a easy way to deploy umbraco CMS web app on Azure App Service Web Apps.
eShop Website with ILB ASE

Deploy to Azure
An App Service Environment is a Premium service plan option of Azure App Service that provides a fully isolated and dedicated environment for securely running Azure App Service apps at high scale, including Web Apps, Mobile Apps, and API Apps.
Deploy API Management with an external Azure Cache for Redis

Deploy to Azure
This template demonstrates how to create an instance of Azure API Management in the Consumption tier with an external Azure Cache for Redis instance as the API Management external cache.
Create a Redis Cache using a template

Deploy to Azure
This template creates an Azure Redis Cache with diagnostics data kept in a storage account.
Create a Redis Cache with Microsoft Entra Authentication.

Deploy to Azure
This template creates a Redis Cache. Then assigns a built-in access policy to a redis user. Then creates a custom access policy. And then assigns the custom access policy to another Redis user.
Create a Premium Redis Cache with clustering

Deploy to Azure
This template shows how to configure clustering in a premium Azure Redis Cache instance.
Create Premium Redis Cache with data persistence

Deploy to Azure
This template shows how to configure persistence in a premium Azure Redis Cache instance.
Create Premium Redis Cache deployed into a Virtual Network

Deploy to Azure
This template shows how to deploy a premium Azure Redis Cache instance into an existing Virtual Network
Create two geo-replicated caches in a Virtual Network

Deploy to Azure
This template shows how to deploy two Premium tier Azure Cache for Redis instances into separate Virtual Networks and link them with geo-replication.
Create a Web App + Redis Cache + SQL DB with a template

Deploy to Azure
This template creates an Azure Web App with Redis cache and a SQL Database.
Create a Web App plus Redis Cache using a template

Deploy to Azure
This template creates an Azure Web App with Redis cache.

Terraform (AzAPI provider) resource definition

The redis resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Cache/redis resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Cache/redis@2020-12-01"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
    {customized property} = "string"
  body = jsonencode({
    properties = {
      enableNonSslPort = bool
      minimumTlsVersion = "string"
      publicNetworkAccess = "string"
      redisConfiguration = {
        aof-backup-enabled = "string"
        aof-storage-connection-string-0 = "string"
        aof-storage-connection-string-1 = "string"
        authnotrequired = "string"
        maxfragmentationmemory-reserved = "string"
        maxmemory-delta = "string"
        maxmemory-policy = "string"
        maxmemory-reserved = "string"
        rdb-backup-enabled = "string"
        rdb-backup-frequency = "string"
        rdb-backup-max-snapshot-count = "string"
        rdb-storage-connection-string = "string"
        {customized property} = "string"
      }
      redisVersion = "string"
      replicasPerMaster = int
      replicasPerPrimary = int
      shardCount = int
      sku = {
        capacity = int
        family = "string"
        name = "string"
      }
      staticIP = "string"
      subnetId = "string"
      tenantSettings = {
        {customized property} = "string"
      }
    }
    zones = [
      "string"
    ]
  })
}

Property values

redis

Name Description Value
type The resource type "Microsoft.Cache/redis@2020-12-01"
name The resource name string (required)

Character limit: 1-63

Valid characters:
Alphanumerics and hyphens.

Start and end with alphanumeric. Consecutive hyphens not allowed.

Resource name must be unique across Azure.
location The geo-location where the resource lives string (required)
parent_id To deploy to a resource group, use the ID of that resource group. string (required)
tags Resource tags. Dictionary of tag names and values.
properties Redis cache properties. RedisCreatePropertiesOrRedisProperties (required)
zones A list of availability zones denoting where the resource needs to come from. string[]

RedisCreatePropertiesOrRedisProperties

Name Description Value
enableNonSslPort Specifies whether the non-ssl Redis server port (6379) is enabled. bool
minimumTlsVersion Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2') "1.0"
"1.1"
"1.2"
publicNetworkAccess Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled' "Disabled"
"Enabled"
redisConfiguration All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc. RedisCommonPropertiesRedisConfiguration
redisVersion Redis version. This should be in the form 'major[.minor[.build]]' (only 'major' is required) or the value 'latest' which refers to the latest stable Redis version that is available. Only the major and minor version are used in a PUT/PATCH request. Supported versions: 4.0, 6.0. string
replicasPerMaster The number of replicas to be created per primary. int
replicasPerPrimary The number of replicas to be created per primary. int
shardCount The number of shards to be created on a Premium Cluster Cache. int
sku The SKU of the Redis cache to deploy. Sku (required)
staticIP Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; auto assigned by default. string

Constraints:
Pattern = ^\d+\.\d+\.\d+\.\d+$
subnetId The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network,ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1 string
tenantSettings A dictionary of tenant settings RedisCommonPropertiesTenantSettings

RedisCommonPropertiesRedisConfiguration

Name Description Value
aof-backup-enabled Specifies whether the aof backup is enabled string
aof-storage-connection-string-0 First storage account connection string string
aof-storage-connection-string-1 Second storage account connection string string
authnotrequired Specifies whether the authentication is disabled. Setting this property is highly discouraged from security point of view. string
maxfragmentationmemory-reserved Value in megabytes reserved for fragmentation per shard string
maxmemory-delta Value in megabytes reserved for non-cache usage per shard e.g. failover. string
maxmemory-policy The eviction strategy used when your data won't fit within its memory limit. string
maxmemory-reserved Value in megabytes reserved for non-cache usage per shard e.g. failover. string
rdb-backup-enabled Specifies whether the rdb backup is enabled string
rdb-backup-frequency Specifies the frequency for creating rdb backup string
rdb-backup-max-snapshot-count Specifies the maximum number of snapshots for rdb backup string
rdb-storage-connection-string The storage account connection string for storing rdb file string
{customized property} string

Sku

Name Description Value
capacity The size of the Redis cache to deploy. Valid values: for C (Basic/Standard) family (0, 1, 2, 3, 4, 5, 6), for P (Premium) family (1, 2, 3, 4). int (required)
family The SKU family to use. Valid values: (C, P). (C = Basic/Standard, P = Premium). "C"
"P" (required)
name The type of Redis cache to deploy. Valid values: (Basic, Standard, Premium) "Basic"
"Premium"
"Standard" (required)

RedisCommonPropertiesTenantSettings

Name Description Value
{customized property} string