
Bei einem Produkt, das sich seit mehr als einem Jahrzehnt entwickelt, ist es nicht verwunderlich, dass es veraltete Technologien enthĂ€lt. Aber was ist, wenn Sie nach sechs Monaten die Last zehnmal höher halten mĂŒssen und der Preis fĂŒr StĂŒrze hunderte Male steigt? In diesem Fall benötigen Sie einen coolen Highload Engineer. Aber in AbwesenheitMaid , . , Redis Redis-cluster, , .
Redis (standalone redis) 1 N ? ?
, Redis ⊠, .
-, Redis . VIP- , . , . , , , , .
-, . «1 N », , , .
?
- â Redis-Enterprise. . , , .
- Redis-cluster. . . , .
- Tarantool, Memcache, Aerospike . . . . Memcache Tarantool , , , , .
, Redisâ :
- 2GIS | Golang
GET SET MGET MSET "SELECT DB"
- MYSQL | PHP
GET SET MGET MSET SCAN "KEY BY PATTERN" "SELECT DB"
- | Golang
GET SET MGET MSET "SELECT DB" "ADD GEO KEY" "GET GEO KEY" SCAN
, . ? .
| Redis-cluster | |||
|---|---|---|---|
| GET SET | / | ||
| MGET MSET | / | . Multi- | MGET pipeline N GET |
| SELECT DB | , | . | |
| SCAN | , | HSCAN . | |
| GEO | |||
| KEY BY PATTERN | , . | , SCAN- |
Redis vs Redis-cluster
?
- : .
- , .
- « », SCAN, DBSIZE, CLEAR DB ..
- Multi- , .
- :
- .
- Redis.
- .
- .
, , , . . , ,
:
- . 5 .
- . - . .
- . , , Redis.
, :
- . Prometheus Grafana , , , GET, SET, AUTH ..
- . , . , , , . â . â . 25, , . «».
- . , . , (, -). - Redis.
:
- , . G go-redis . Multi- pipeline-, . PHP , php-redis. , .
- . . .
- dry-mode. ( , ), , , ( NewRelic). , , production .
- dry-, . , , , . ? , , . , , .
- dry-mode . , . ? . , , - , dry-mode.
- dry-mode .
.
, Redis â key-value . . , . , .
â (SLOTS). 16 383 . - . , 16 383 .

, N -. Redis, . - . -. . - , . - . , , Redis, , ( , ). , - , - .
, , -, - -. «-» . C .

, .
Redis-CLI. Redis , . .
- , : cluster nodes. , , , .. cluster info cluster slots.
- . cluster meet cluster forget. , cluster forget , , . cluster meet . , , . ( ). , , ( ). , , . , , , .
- , cluster failover. , , . , , . , .
- . cluster reshard. , . , , . , , . . -, . , . -, - , , . , . , , . , / . , .
- , , - ? , , , cluster fix. - . , . , . .
- â monitor. , . , grep , .
. , , , , . , -, Redis . . : , , , . , , . , , (, ), . , -, . , , , , .
, â , ., , . , . - . :
- timeout 0
, ( ). 0 â
. , . , , , . , persist-. - Save x y & appendonly yes
RDB-.
RDB/AOF . - stop-writes-on-bgsave-error no & slave-serve-stale-data yes
, RDB- . , (yes). (no)
, Redis . - repl-ping-slave-period 5
, failoverâa.
failoverâ. 5 . - repl-backlog-size 1024mb & epl-backlog-ttl 0
. , .
, . , , . , , , , . - maxclients 10000
.
, . Redis 10 . . , . - maxmemory-policy volatile-ttl
, .
, , . Redis .
RDB AOF
Redis , . , :
- RDB-snapshot â . SAVE X Y « X , Y ».
- Append-only file â . Y .
- RDB and AOF â .
, , , , .
-, RDB- FORK. , Redis . , , : Redis 8 , 16.
-, . AOF . , . .
, , . , « ». , , ( ). , , «».
, redis-cluster- , , - , .
, , .