ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Redis Ltd ΠΎΠ±ΡΠ²ΠΈ ΠΏΡΠΎΠΌΡΠ½Π° Π² Π»ΠΈΡΠ΅Π½Π·ΠΈΠΎΠ½Π½Π°ΡΠ° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ Ρ Π²Π΅ΡΡΠΈΡ 8.0 Π½Π° Redis, ΠΊΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΡΠ°Π½Π° Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎΠ΄ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½Π°ΡΠ° Π»ΠΈΡΠ΅Π½Π·ΠΈΡ AGPLv3. ΠΡΠ΅Ρ ΠΎΠ΄ΡΡ ΠΊΡΠΌ ΠΎΡΠ²ΠΎΡΠ΅Π½Π° Π»ΠΈΡΠ΅Π½Π·ΠΈΡ ΡΡΠ°Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ΅Π½ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π·Π°Π²ΡΡΡΠ°Π½Π΅ΡΠΎ Π½Π° Π‘Π°Π»ΡΠ²Π°Π΄ΠΎΡ Π‘Π°Π½ΡΠΈΠ»ΠΈΠΏΠΏΠΎ (Salvatore Sanfilippo) Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ°, ΡΡΠ·Π΄Π°ΡΠ΅Π»Ρ Π½Π° Π‘Π£ΠΠ Redis. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΡΠ½Π° Redis Ltd, Π‘Π°Π»ΡΠ²Π°Π΄ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΈ Π½Π°Π±ΠΎΡ ΠΎΡ Π²Π΅ΠΊΡΠΎΡΠ½ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ (Vector Sets), ΠΊΠΎΠΈΡΠΎ Π±Π΅ΡΠ΅ Π³ΠΎΡΠΎΠ² Π΄Π° ΠΏΡΠ΅Π΄Π°Π΄Π΅ Π² ΡΡΡΡΠ°Π²Π° Π½Π° Redis, Π½ΠΎ ΠΈΡΠΊΠ°ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈΡΡ ΠΎΡ Π½Π΅Π³ΠΎ ΠΊΠΎΠ΄ Π΄Π° ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ ΠΎΡΠ²ΠΎΡΠ΅Π½Π° Π»ΠΈΡΠ΅Π½Π·ΠΈΡ. Π‘Π°Π»ΡΠ²Π°Π΄ΠΎΡ ΡΡΠΏΡ Π΄Π° ΡΠ±Π΅Π΄ΠΈ ΠΊΠΎΠ»Π΅Π³ΠΈΡΠ΅ ΡΠΈ Π² ΡΠ΅Π»Π΅ΡΡΠΎΠ±ΡΠ°Π·Π½ΠΎΡΡΡΠ° Π½Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈΡ Ρ Π°ΡΠ°ΠΊΡΠ΅Ρ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Ρ ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ°.
Π ΠΎΡΡΠ½ Π’ΡΠΎΠ»Π»ΠΎΠΏ (Rowan Trollope), Π΄ΠΈΡΠ΅ΠΊΡΠΎΡ Π½Π° Redis Ltd, Π·Π°ΡΠ²ΠΈ, ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΈΡΡ ΠΏΡΠ΅Π· ΠΌΠΈΠ½Π°Π»Π°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π° ΠΏΡΠ΅Ρ ΠΎΠ΄ ΠΊΡΠΌ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΠΈ Π»ΠΈΡΠ΅Π½Π·ΠΈ Π΅ ΠΏΠΎΡΡΠΈΠ³Π½Π°Π» ΡΠ΅Π»ΠΈΡΠ΅ ΡΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈΡΠ΅ AWS ΠΈ Google ΠΎΡΠ½ΠΎΠ²Π°Π»ΠΈ ΡΠΎΡΠΊ, Π·Π°ΠΏΠΎΡΠ½Π°Π»ΠΈ Π΄Π° ΡΡΠ°ΡΡΠ²Π°Ρ Π² ΠΊΠΎΠ»Π΅ΠΊΡΠΈΠ²Π½ΠΎΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ ΠΈ Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»ΡΡ ΡΠ²ΠΎΠΈΡΠ΅ ΠΌΠΈΠ½Π°Π»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠΌΡΠ½Π°ΡΠ° Π½Π° Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠ΅ Π΅ Π½Π°Π²ΡΠ΅Π΄ΠΈΠ»Π° Π½Π° ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡΡΠ° Ρ ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ°, ΠΊΠΎΠΈΡΠΎ ΡΠ΅Π³Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ° ΡΠ΅ ΡΠ΅ ΠΎΠΏΠΈΡΠ° Π΄Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΠΈ, ΠΊΠ°ΡΠΎ ΡΠ΅ Π²ΡΡΠ½Π΅ ΠΊΡΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½Π° Π»ΠΈΡΠ΅Π½Π·ΠΈΡ.
Π‘Π»Π΅Π΄ ΠΏΡΠ΅Ρ ΠΎΠ΄Π° ΠΊΡΠΌ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΠΈ Π»ΠΈΡΠ΅Π½Π·ΠΈ, ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΎΡΠ²ΠΎΡΠ΅Π½Π°ΡΠ° ΠΊΠΎΠ΄ΠΎΠ²Π° Π±Π°Π·Π° Π½Π° Redis ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈ Π² ΡΠΎΡΠΊΠΎΠ²Π΅ΡΠ΅ Valkey (ΡΠΎΡΠΊ, ΡΠ°Π·Π²ΠΈΡ Ρ ΡΡΠ°ΡΡΠΈΠ΅ΡΠΎ Π½Π° Amazon, Google, Oracle, Ericsson ΠΈ Snap), Redict (ΡΠΎΡΠΊ ΠΎΡ Π°Π²ΡΠΎΡΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Sway ΠΈ Π΅Π·ΠΈΠΊΠ° Hare), Garnet (Π‘Π£ΠΠ ΠΎΡ Microsoft, ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠ° Ρ Redis) ΠΈΠ»ΠΈ KeyDB (Π²ΠΈΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅Π½ ΡΠΎΡΠΊ Π½Π° Redis 5 ΠΎΡ Snapchat). Π ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈΡΠ΅ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈΡΠ΅ Debian 13, Ubuntu 24.10, Fedora 41, RHEL 10, Azure Linux 3, Arch Linux ΠΈ Alpine 3.20, ΠΏΠ°ΠΊΠ΅ΡΡΡ Redis Π±Π΅ΡΠ΅ Π·Π°ΠΌΠ΅Π½Π΅Π½ Ρ ΡΠΎΡΠΊΠ° Valkey.
ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Redis ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡΠ΅ ΠΏΠΎΠ΄ ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅Π»Π½Π°ΡΠ° Π»ΠΈΡΠ΅Π½Π·ΠΈΡ BSD, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Π»Π° Π΄Π° Π½Π΅ ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ΅ΠΌΠΈΠ½Π° Π½Π° ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΠΈ Π»ΠΈΡΠ΅Π½Π·ΠΈ RSALv2 (ΠΠΈΡΠ΅Π½Π·ΠΈΡ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Π½Π° Redis v2) ΠΈ SSPLv1 (ΠΠΈΡΠ΅Π½Π·ΠΈΡ Π·Π° ΠΏΡΠ±Π»ΠΈΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ ΠΎΡ ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠ° v1). ΠΠ°ΠΏΠΎΡΠ²Π°ΠΉΠΊΠΈ ΠΎΡ Redis 8, ΠΊΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½azia AGPLv3, ΡΠΈΡΡΠΎ ΠΎΡΠΎΠ±Π΅Π½ΠΎΡΡ Π΅ Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΎΡΠΈΠ³ΡΡΡΠ²Π°ΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΡΠ»ΡΠ³ΠΈ. ΠΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° AGPL-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π² ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΡΠ»ΡΠ³ΠΈ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡΡ Π΅ Π·Π°Π΄ΡΠ»ΠΆΠ΅Π½ Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ Π² ΡΠ΅Π·ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, Π΄ΠΎΡΠΈ Π°ΠΊΠΎ ΠΎΡΠ½ΠΎΠ²Π°Π²ΠΆΠ°ΡΠΈΡΡ ΡΠΎΡΡΡΠ΅Ρ Π½Π΅ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ°ΠΌΠΎ Π²ΡΠ² Π²ΡΡΡΠ΅ΡΠ½Π°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°. ΠΠΈΡΠ΅Π½Π·ΠΈΡ AGPLv3 Π΅ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠ° Ρ GPLv3, Π½ΠΎ Π΅ Π² ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ Ρ GPLv2.
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡΠ΅ Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π»ΠΈΡΠ΅Π½Π·ΠΈ SSPL ΠΈ RSAL Π²ΠΎΠ΄Π΅Ρ Π° Π΄ΠΎ Π΄ΠΈΡΠΊΡΠΈΠΌΠΈΠ½Π°ΡΠΈΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, ΠΊΠΎΠ΅ΡΠΎ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Π»ΠΎ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΡΠΈΡΠ°Π½ΠΈ Π·Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ ΠΈΠ»ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΈ. ΠΠΎ ΡΠ²ΠΎΠΈΡΠ΅ ΡΠ΅Π»ΠΈ, Π΄Π²Π΅ΡΠ΅ Π»ΠΈΡΠ΅Π½Π·ΠΈ ΠΏΡΠΈΠ»ΠΈΡΠ°Ρ Π΅Π΄Π½Π° Π½Π° Π΄ΡΡΠ³Π°, Π° ΡΠ°Π·Π»ΠΈΠΊΠΈΡΠ΅ ΡΠ΅ ΡΠ²Π΅ΠΆΠ΄Π°Ρ Π΄ΠΎ ΡΠΎΠ²Π°, ΡΠ΅ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΡΠ° SSPL Π΅ Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° ΠΊΠΎΠΏΠΈΠ»Π΅ΡΡ Π»ΠΈΡΠ΅Π½ΡΠΈΡΡΠ° AGPLv3, Π° Π»ΠΈΡΠ΅Π½Π·ΠΈΡΡΠ° RSAL Π΅ Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅Π»Π½Π° Π»ΠΈΡΠ΅Π½Π·ΠΈΡ BSD. ΠΠΈΡΠ΅Π½Π·ΠΈΡΡΠ° RSAL ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΡΠΎ, ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ΡΠΎ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ΄Π° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Ρ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ»ΡΡΠ°ΠΈΡΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅Π·ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ° ΡΡΡΠ³ΠΎΠ²ΡΠΊΠΈ ΠΈΠ»ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΠΏΠ»Π°ΡΠ΅Π½ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Π½ΠΈ ΡΡΠ»ΡΠ³ΠΈ. ΠΠΈΡΠ΅Π½Π·ΠΈΡΡΠ° SSPL Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠ΄ΡΡΠΆΠ° ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½Π΅ Π·Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠ° ΠΏΠΎΠ΄ ΡΡΡΠ°ΡΠ° Π»ΠΈΡΠ΅Π½Π·ΠΈΡ Π½Π΅ ΡΠ°ΠΌΠΎ Π½Π° ΠΊΠΎΠ΄Π° Π½Π° ΡΠ°ΠΌΠΎΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΠΈ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ, Π°Π½Π³Π°ΠΆΠΈΡΠ°Π½ΠΈ Π² ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ΡΠΎ Π½Π° ΠΎΠ±Π»Π°ΡΠ½Π° ΡΡΠ»ΡΠ³Π°.
Π‘Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ ΠΎΠ±ΡΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π·Π° ΡΠΌΡΠ½Π° Π½Π° Π»ΠΈΡΠ΅Π½ΡΠΈΡΡΠ° Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ ΡΠ΅Π»ΠΈΠ·ΡΡ Redis 8.0. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, Π²ΡΠΏΡΠ΅ΠΊΠΈ Π·Π°ΡΠ²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π·Π° Π½Π°Π»ΠΈΡΠ½ΠΎΡΡΡΠ° Π½Π° ΡΠ΅Π»ΠΈΠ·Π°, Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡΠ° Π²ΡΠ΅ ΠΎΡΠ΅ Π΅ ΠΏΠΎΡΡΠ°Π²Π΅Π½ ΡΠ°ΠΌΠΎ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ Π·Π° ΡΠ΅Π»ΠΈΠ·, Π° Π»ΠΈΠ½ΠΊΡΡ Π·Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ Π½Π° Redis 8.0 Π½Π° ΡΠ°ΠΉΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΡΡΡΠ°Π½ΠΈΡΠ° Ρ ΠΎΠ±ΡΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡ. Π Π±Π΅Π»Π΅ΠΆΠΊΠΈΡΠ΅ ΠΊΡΠΌ ΡΠ΅Π»ΠΈΠ·Π° ΡΡΡΠΎ Π·Π°ΡΠ΅Π³Π° Π΅ ΠΎΡΠ±Π΅Π»ΡΠ·Π°Π½ ΡΠ°ΠΌΠΎ ΠΈΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° 8.0-RC1.
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² Redis 8.0:
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΡΠΈΠΏ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π²Π΅ΠΊΡΠΎΡΠ½ΠΈ Π½Π°Π±ΠΎΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ, ΡΡΡΡΠ΅Π½ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ½ΠΎ ΡΡΡΡΠ΅Π½Π΅. ΠΠ΅ΠΊΡΠΎΡΠΈΡΠ΅ (vector set) ΡΠ°Π·ΡΠΈΡΡΠ²Π°Ρ ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π½Π° ΠΏΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈΡΠ΅ ΡΠΏΠΈΡΡΡΠΈ (sorted set) Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅ΡΠ½ΠΈ Π²Π΅ΠΊΡΠΎΡΠΈ. ΠΠ° ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° Π²Π΅ΠΊΡΠΎΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ 11 Π½ΠΎΠ²ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΊΠ°ΡΠΎ VADD, VREM ΠΈ VSIM.
- Π ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΡΡΡΡΠ°Π² Π½Π° Redis ΡΠ° ΠΏΡΠ΅Π½Π΅ΡΠ΅Π½ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Redis Query Engine, JSON, Time Series ΠΈ Probabilistic Data Types, ΠΏΡΠ΅Π΄ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π½ΠΈ ΠΊΠ°ΡΠΎ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ Π½Π° Redis Stack.
- ΠΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ Π² ΡΠΎΡΠΌΠ°Ρ JSON, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ JSON, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΊΠ»ΡΡΠΎΠ²Π΅ Π² Redis. ΠΠ° ΡΠ΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° JSON-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ ΠΈ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΅Π·ΠΈΠΊΡΡ Π·Π° Π·Π°ΡΠ²ΠΊΠΈ JSONPath. ΠΠ°Π»ΠΈΡΠ½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π°ΡΠΎΠΌΠ½ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ° Π²Π½Π°ΡΡΠ½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΠΎΠ»Π΅ΡΠ° Π½Π° JSON-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ΅Π»ΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ ΡΠ΅Π΄ (Π·Π°ΠΏΠΈΡ, ΠΊΠΎΠΉΡΠΎ ΠΎΠ±ΡΠ°Π·ΡΠ²Π° Π²ΡΠ΅ΠΌΠ΅ ΠΈ Π½Π°Π±ΠΎΡ ΠΎΡ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π°ΡΠΈ ΠΌΡ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈ ΡΡΠ΅Π· ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ Π½Π°Π±Π»ΡΠ΄Π°Π²Π°Π½Π΅ Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅Π½Π·ΠΎΡΠΈ ΠΈΠ»ΠΈ ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ΅ΡΡΠΈΠΊΠΈ). ΠΠ° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΠΏΠ°ΠΌΠ΅Ρ ΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΠΎΡΡΠ»Π°Π±Π²Π°Π½Π΅ Π½Π° Π°ΡΡ ΠΈΠ²Π½ΠΈ Π΄Π°Π½Π½ΠΈ (downsampling).
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ: Bloom filter, Cuckoo filter, Count-min sketch, Top-k ΠΈ t-digest, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΎΠ±Π΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠ°ΡΠΎ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠ΅ Π΄ΠΎΠΏΡΡΠΊΠ° Π·Π°Π³ΡΠ±Π° Π½Π° ΡΠΎΡΠ½ΠΎΡΡ ΠΏΡΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° Π½ΡΠΊΠΎΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. Β«Bloom filterΒ» ΠΈ Β«Cuckoo filterΒ» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π° ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡ ΠΊΡΠΌ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ, Π΄ΠΎΠΏΡΡΠΊΠ°ΠΉΠΊΠΈ ΡΠ°Π»ΡΠΈΠ²ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π·Π° Π»ΠΈΠΏΡΠ²Π°Ρ Π΅Π»Π΅ΠΌΠ΅Π½Ρ, Π½ΠΎ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°ΠΉΠΊΠΈ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ Π΅Π»Π΅ΠΌΠ΅Π½Ρ. Β«Count-min sketchΒ» ΠΏΡΠΎΠ³Π½ΠΎΠ·ΠΈΡΠ° Π±ΡΠΎΡ Π½Π° ΡΠΏΠΎΠΌΠ΅Π½Π°Π²Π°Π½ΠΈΡΡΠ° Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π² ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΡΠΎ. Β«Top-kΒ» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΠΉ-ΡΠ΅ΡΡΠΎ ΡΡΠ΅ΡΠ°Π½ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ. Β«T-digestΒ» Π΄Π°Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·Π²Π°Π΄ΠΊΠΈ ΠΎΡ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΏΠΎ-Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΈ ΠΎΡ Π·Π°Π΄Π°Π΄Π΅Π½ΠΎΡΠΎ.
- ΠΠΊΠ»ΡΡΠ΅Π½ Π΅ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π» Β«Redis Query EngineΒ» Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π²Π΅ΠΊΡΠΎΡΠ½ΠΎ ΡΡΡΡΠ΅Π½Π΅ ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° ΡΠΎΡΠΌΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·Π²Π°Π΄ΠΊΠΈ ΠΏΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅, Π° Π½Π΅ ΠΏΠΎ ΠΊΠ»ΡΡΠΎΠ²Π΅. Redis Query Engine ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Π·Π° Π΄Π°Π½Π½ΠΈ, ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π² Ρ Π΅ΡΠΎΠ²Π΅ ΠΈ JSON Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ.
- Π Π°Π·ΡΠΈΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ACL (Π‘ΠΏΠΈΡΡΡΠΈ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π΄ΠΎΡΡΡΠΏΠ°), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ Π΄Π°Π½Π½ΠΈ Π½Π° Π±Π°Π·Π° ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΈ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π½Π°Π±ΠΎΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° Π½Π°Π±ΠΎΡΠΈ ΠΎΡ ΠΏΡΠ°Π²ΠΎΠΌΠΎΡΠΈΡ Ρ Π²ΡΠ΅ΠΊΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π». ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ACL ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΠΊΠΎΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π°Ρ Ρ Redis, Π΄ΠΎ ΠΊΠΎΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΈΠΌΠ° Π΄ΠΎΡΡΡΠΏ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ ΠΈ ΠΊΠ°ΠΊΠ²ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°. Π Redis 8 ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π½ΠΎΠ²ΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ACL Π·Π° Π½ΠΎΠ²ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π½ΠΎΠ²ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Ρ
Π΅ΡΠΎΠ²Π΅:
- HGETDEL β ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΠΈ ΠΈΠ·ΡΡΠΈΠ²Π° ΠΏΠΎΠ»Π΅ΡΠ° ΠΎΡ Ρ Π°ΡΠ° ΠΏΠΎ Π·Π°Π΄Π°Π΄Π΅Π½ΠΈΡ ΠΊΠ»ΡΡ.
- HGETEX β ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΠΏΠΎΠ»Π΅ΡΠ° ΠΎΡ Ρ Π°ΡΠ° ΠΏΠΎ Π·Π°Π΄Π°Π΄Π΅Π½ΠΈΡ ΠΊΠ»ΡΡ ΠΈ ΡΠΊΠ°Π·Π²Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΆΠΈΠ²ΠΎΡ Π·Π° ΡΡΡ .
- HSETEX β Π·Π°Π΄Π°Π²Π° ΠΏΠΎΠ»Π΅ΡΠ° Π² Ρ Π°ΡΠ° ΠΏΠΎ Π·Π°Π΄Π°Π΄Π΅Π½ΠΈΡ ΠΊΠ»ΡΡ ΠΈ ΡΠΊΠ°Π·Π²Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΆΠΈΠ²ΠΎΡ Π·Π° ΡΡΡ .
- ΠΠ½Π΅ΡΠ΅Π½ΠΈ ΡΠ° Π½Π°Π΄ 30 ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°, Π²ΠΎΠ΄Π΅ΡΠΈ Π² Π½ΡΠΊΠΎΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ Π΄ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Ρ 87%, ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΠ΅Π»Π½Π°ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Ρ 112%, ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ Ρ 18% ΠΈ ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ΡΠΎ Π² Redis Query Engine Π΄ΠΎ 16 ΠΏΡΡΠΈ (ΡΡΠ΅Π· Ρ ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»Π½ΠΎ ΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»Π½ΠΎ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅). ΠΡΠΈ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ Π½Π° Π½Π°Π±ΠΎΡ ΠΎΡ 149 ΡΠ΅ΡΡΠ°, 90 ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π°ΠΏΠΎΡΠ½Π°Ρ Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ. ΠΠ½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π° ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΠ΅Π»Π½Π°ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π·Π° ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ, ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ Π·Π°ΠΏΠΈΡ Π² ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΠΎΠΊΠ΅ΡΠΈ. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° Π²Ρ ΠΎΠ΄/ΠΈΠ·Ρ ΠΎΠ΄ (io-threads).
- ΠΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ Π΅ Π½ΠΎΠ² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ, ΠΊΠΎΠΉΡΠΎ ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ° Ρ 35% ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΏΠ°ΠΌΠ΅Ρ ΠΈ ΡΠ°Π±ΠΎΡΠΈ Ρ 18% ΠΏΠΎ-Π±ΡΡΠ·ΠΎ. ΠΠ° ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ° Π°Π½Π³Π°ΠΆΠΈΡΠ°Π½ΠΈ Π΄Π²Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΠΎΡΠΎΠΊΠ° Π·Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ β Π΅Π΄ΠΈΠ½ Π·Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΡΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ Π²ΡΠ·Π΅Π», Π° Π΄ΡΡΠ³ Π·Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΡΠΌ ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΈΡΠ΅ Π²ΡΠ·Π»ΠΈ.
ΠΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ Π² Π‘Π£ΠΠ Redis ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΊΠ°ΡΠΎ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π΅/Π΄Π΅ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π΅, ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° ΡΠΏΠΈΡΡΡΠΈ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° (ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, ΠΏΡΠ΅ΡΠΈΡΠ°Π½Π΅), ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅, ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ΅Π»Π΅ΠΊΡΠΈΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΡΠΎΡΡΠΈΡΠ°Π½Π΅. ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ΅ Π΄Π²Π° ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅: ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Ρ Π΄ΠΈΡΠΊΠ° ΠΈ Π²ΠΎΠ΄Π΅Π½Π΅ Π½Π° Π»ΠΎΠ³ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π° Π΄ΠΈΡΠΊΠ°. ΠΡΠ² Π²ΡΠΎΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ ΡΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ° ΠΏΡΠ»Π½Π° Π·Π°ΠΏΠ°Π·Π΅Π½ΠΎΡΡ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ. ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π³ΡΡΠΏΠ° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° Π΅Π΄ΠΈΠ½ Ρ ΠΎΠ΄, Π³Π°ΡΠ°Π½ΡΠΈΡΠ°ΠΉΠΊΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡ ΠΈ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡ (ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΎΡ Π΄ΡΡΠ³ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠ²Π°Ρ) ΠΏΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π·Π°Π΄Π°Π΄Π΅Π½ΠΈΡ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, Π° Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠΈ Π²ΡΡΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅.
ΠΡΠ·ΠΌΠΎΠΆΠ½Π° Π΅ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Π½Π° master-slave ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΡΡΠ²ΡΡΠΈ, ΠΈΠ·Π²ΡΡΡΠ²Π°Π½ΠΎ Π² Π½Π΅Π±Π»ΠΎΠΊΠΈΡΠ°Ρ ΡΠ΅ΠΆΠΈΠΌ. ΠΠ° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΅ ΠΈ ΡΠ΅ΠΆΠΈΠΌ Π·Π° ΠΎΠ±ΠΌΠ΅Π½ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Β«ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ/ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠ°Β», ΠΏΡΠΈ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π° ΠΊΠ°Π½Π°Π», ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° ΠΎΡ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°Ρ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ ΡΠΏΠΎΡΠ΅Π΄ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠ°ΡΠ°. ΠΡΠΈΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ Π² ΠΏΡΠ»Π΅Π½ ΠΎΠ±Π΅ΠΌ ΡΠ΅ ΠΊΠ΅ΡΠΈΡΠ°Ρ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρ. ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ° Π½Π°Π»ΠΈΡΠ½ΠΈ Π·Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈ Π΅Π·ΠΈΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Perl, Python, PHP, Java, Ruby, Tcl, JavaScript/Node.js, Go ΠΈ C#.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
