---
title: Redis Quota
overview: Adapter for a Redis-based quota management system.
location: https://istio.io/docs/reference/config/adapters/redisquota.html
layout: protoc-gen-docs
number_of_entries: 4
---
The redisquota adapter can be used to support Istio’s quota management
system. It depends on a Redis server to store quota values.
Params
redisquota adapter supports the rate limit quota using either fixed or
rolling window algorithm. And it is using Redis as a shared data storage.
Example configuration:
redisServerUrl: localhost:6379
connectionPoolSize: 10
quotas:
- name: requestCount.quota.istio-system
maxAmount: 50
validDuration: 60s
bucketDuration: 1s
rateLimitAlgorithm: ROLLING_WINDOW
overrides:
- dimensions:
destination: ratings
source: reviews
maxAmount: 12
- dimensions:
destination: reviews
maxAmount: 5
| Field |
Type |
Description |
quotas |
Params.Quota[] |
The set of known quotas. At least one quota configuration is required
|
redisServerUrl |
string |
Redis connection string :
ex) localhost:6379
|
connectionPoolSize |
int64 |
Maximum number of idle connections to redis
Default is 10 connections per every CPU as reported by runtime.NumCPU.
|
Params.Override
| Field |
Type |
Description |
dimensions |
map<string, string> |
The specific dimensions for which this override applies.
String representation of instance dimensions is used to check against configured dimensions.
dimensions should not be empty
|
maxAmount |
int64 |
The upper limit for this quota override.
This value should be bigger than 0
|
Params.Quota
| Field |
Type |
Description |
name |
string |
The name of the quota
|
maxAmount |
int64 |
The upper limit for this quota. max_amount should be bigger than 0
|
validDuration |
google.protobuf.Duration |
The amount of time allocated quota remains valid before it is
automatically released. This is only meaningful for rate limit quotas.
value should be 0 < valid_duration
|
bucketDuration |
google.protobuf.Duration |
bucketduration will be ignored if ratelimitalgorithm is FIXEDWINDOW
value should be 0 < bucketduration < validduration
|
rateLimitAlgorithm |
Params.QuotaAlgorithm |
Quota management algorithm. The default value is FIXED_WINDOW
|
overrides |
Params.Override[] |
Overrides associated with this quota.
The first matching override is applied.
|
Params.QuotaAlgorithm
Algorithms for rate-limiting:
| Name |
Description |
FIXED_WINDOW |
FIXED_WINDOW The fixed window approach can allow 2x peak specified rate, whereas the rolling-window doesn’t.
|
ROLLING_WINDOW |
ROLLING_WINDOW The rolling window algorithm’s additional precision comes at the cost of increased redis resource usage.
|