blob: e4a20b9fb8c4c49f2a60aa0fca38f62485ab9984 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
syntax = "proto3";
package yandex.cloud.mdb.redis.v1.config;
import "google/protobuf/wrappers.proto";
import "yandex/cloud/validation.proto";
option go_package = "github.com/yandex-cloud/go-genproto/yandex/cloud/mdb/redis/v1/config;redis";
option java_package = "yandex.cloud.api.mdb.redis.v1.config";
// Fields and structure of `RedisConfig` reflects Redis configuration file
// parameters.
message RedisConfig {
enum MaxmemoryPolicy {
MAXMEMORY_POLICY_UNSPECIFIED = 0;
// Try to remove less recently used (LRU) keys with `expire set`.
VOLATILE_LRU = 1;
// Remove less recently used (LRU) keys.
ALLKEYS_LRU = 2;
// Try to remove least frequently used (LFU) keys with `expire set`.
VOLATILE_LFU = 3;
// Remove least frequently used (LFU) keys.
ALLKEYS_LFU = 4;
// Try to remove keys with `expire set` randomly.
VOLATILE_RANDOM = 5;
// Remove keys randomly.
ALLKEYS_RANDOM = 6;
// Try to remove less recently used (LRU) keys with `expire set`
// and shorter TTL first.
VOLATILE_TTL = 7;
// Return errors when memory limit was reached and commands could require
// more memory to be used.
NOEVICTION = 8;
}
message ClientOutputBufferLimit {
reserved 4;
reserved 2;
// Total limit in bytes.
google.protobuf.Int64Value hard_limit = 1 [(value) = ">=0"];
// Limit in bytes during certain time period.
google.protobuf.Int64Value soft_limit = 3 [(value) = ">=0"];
// Seconds for soft limit.
google.protobuf.Int64Value soft_seconds = 5 [(value) = ">=0"];
}
// Redis key eviction policy for a dataset that reaches maximum memory,
// available to the host. Redis maxmemory setting depends on Managed
// Service for Redis [host class](/docs/managed-redis/concepts/instance-types).
//
// All policies are described in detail in [Redis documentation](https://redis.io/topics/lru-cache).
MaxmemoryPolicy maxmemory_policy = 1;
// Time that Redis keeps the connection open while the client is idle.
// If no new command is sent during that time, the connection is closed.
google.protobuf.Int64Value timeout = 2;
// Authentication password.
string password = 3 [(pattern) = "[a-zA-Z0-9@=+?*.,!&#$^<>_-]{8,128}"];
// Number of database buckets on a single redis-server process.
google.protobuf.Int64Value databases = 4 [(value) = ">0"];
// Threshold for logging slow requests to server in microseconds (log only slower than it).
google.protobuf.Int64Value slowlog_log_slower_than = 5 [(value) = ">=0"];
// Max slow requests number to log.
google.protobuf.Int64Value slowlog_max_len = 6 [(value) = ">=0"];
// String setting for pub\sub functionality.
string notify_keyspace_events = 7 [(pattern) = "[KEg$lshzxeAtm]{0,13}"];
// Redis connection output buffers limits for pubsub operations.
ClientOutputBufferLimit client_output_buffer_limit_pubsub = 8;
// Redis connection output buffers limits for clients.
ClientOutputBufferLimit client_output_buffer_limit_normal = 9;
// Redis maxmemory percent
google.protobuf.Int64Value maxmemory_percent = 10 [(value) = "1-75"];
}
message RedisConfigSet {
// Effective settings for a Redis cluster (a combination of settings
// defined in [user_config] and [default_config]).
RedisConfig effective_config = 1;
// User-defined settings for a Redis cluster.
RedisConfig user_config = 2;
// Default configuration for a Redis cluster.
RedisConfig default_config = 3;
}
|