ΠΠ±ΡΠ²Π΅Π½ Π΅ ΡΠ΅Π»ΠΈΠ· Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Redis 7.0, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠ° ΠΊΡΠΌ ΠΊΠ»Π°ΡΠ° NoSQL ΡΠΈΡΡΠ΅ΠΌΠΈ. Redis ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π² ΡΠΎΡΠΌΠ°Ρ ΠΊΠ»ΡΡ/ΡΡΠΎΠΉΠ½ΠΎΡΡ, ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΡΡΡΠΊΡΡΡΠΈΡΠ°Π½ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠ°ΡΠΎ ΡΠΏΠΈΡΡΡΠΈ, Ρ Π΅ΡΠΎΠ²Π΅ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΡΠ²ΡΡΠ½ΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π½Π° Π΅Π·ΠΈΠΊΠ° Lua. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·Π° BSD. ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π° ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, ΠΊΠ°ΡΠΎ RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom, ΠΎΡ 2019 Π³ΠΎΠ΄ΠΈΠ½Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΠΏΠΎΠ΄ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠ΅ΡΠΊΠ°ΡΠ° Π»ΠΈΡΠ΅Π½Π·ΠΈΡ RSAL. ΠΡΠΎΠ΅ΠΊΡΡΡ GoodFORM, ΠΊΠΎΠΉΡΠΎ Π½Π°ΠΏΠΎΡΠ»Π΅Π΄ΡΠΊ Π΅ Π² ΡΡΠ°Π³Π½Π°ΡΠΈΡ, ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°ΡΠ΅ Π΄Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½Π° ΡΠ΅Π·ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·Π° AGPLv3.
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρ, ΠΊΠ°ΡΠΎ Memcached, Redis ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π½Π° Π΄ΠΈΡΠΊ ΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΠ° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° Π°Π²Π°ΡΠΈΠΉΠ½ΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ°. ΠΠ·Ρ ΠΎΠ΄Π½ΠΈΡΡ ΠΊΠΎΠ΄ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π»ΠΈΡΠ΅Π½Π·Π° BSD. ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ° Π½Π°Π»ΠΈΡΠ½ΠΈ Π·Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈ Π΅Π·ΠΈΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Perl, Python, PHP, Java, Ruby ΠΈ Tcl. Redis ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π³ΡΡΠΏΠ° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π² Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΈΡ Ρ ΠΎΠ΄, Π³Π°ΡΠ°Π½ΡΠΈΡΠ°ΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡ (ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΎΡ Π΄ΡΡΠ³ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ Π²ΠΌΠ΅ΡΠ°Ρ) Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π·Π°Π΄Π°Π΄Π΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, Π° Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ Π²ΡΡΠ½Π°Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅. ΠΡΠΈΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ ΡΠ΅ ΠΊΠ΅ΡΠΈΡΠ°Ρ Π½Π°ΠΏΡΠ»Π½ΠΎ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρ.
ΠΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΊΠ°ΡΠΎ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π΅/Π΄Π΅Π°ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½Π΅, ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΡΠΏΠΈΡΡΡΠΈ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° (ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, ΠΏΡΠ΅ΡΠΈΡΠ°Π½Π΅), ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅, ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΡΠΎΡΡΠΈΡΠ°Π½Π΅. ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ΅ Π΄Π²Π° ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅: ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° Π΄ΠΈΡΠΊ ΠΈ Π²ΠΎΠ΄Π΅Π½Π΅ Π½Π° Π»ΠΎΠ³ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π° Π΄ΠΈΡΠΊΠ°. ΠΡΠ² Π²ΡΠΎΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ ΡΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ° ΠΏΡΠ»Π½Π° Π·Π°ΠΏΠ°Π·Π΅Π½ΠΎΡΡ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ. ΠΡΠ·ΠΌΠΎΠΆΠ½Π° Π΅ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Π½Π° master-slave ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΡΡΠ²ΡΡΠΈ, ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π° Π² Π½Π΅Π±Π»ΠΎΠΊΠΈΡΠ°Ρ ΡΠ΅ΠΆΠΈΠΌ. ΠΠ°Π»ΠΈΡΠ΅Π½ Π΅ ΠΈ ΡΠ΅ΠΆΠΈΠΌ Π·Π° ΠΎΠ±ΠΌΠ΅Π½ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ "ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ/Π°Π±ΠΎΠ½Π°ΠΌΠ΅Π½Ρ", ΠΏΡΠΈ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π° ΠΊΠ°Π½Π°Π», ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°Ρ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ ΠΏΠΎ Π°Π±ΠΎΠ½Π°ΠΌΠ΅Π½Ρ.
ΠΠ»ΡΡΠΎΠ²ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² Redis 7.0:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Π½ΠΈ Π½Π° ΡΡΡΠ°Π½Π°ΡΠ° ΡΡΡΠ²ΡΡ. ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ ΠΏΡΠ΅Π΄ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π½Π° Π΅Π·ΠΈΠΊΠ° Lua, ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π½Π΅ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈ ΡΠ° Π½Π°ΡΠΎΡΠ΅Π½ΠΈ ΠΊΡΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°, ΡΠ°Π·ΡΠΈΡΡΠ²Π°ΡΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΡΡΠ²ΡΡΠ°. Π€ΡΠ½ΠΊΡΠΈΠΈΡΠ΅ ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ Π½Π΅ΡΠ°Π·ΡΠΈΠ²Π½ΠΎ Ρ Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, Π° Π½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΊΠ°ΡΠΎ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈΡΠ°Ρ ΠΈ ΡΡ Ρ ΡΠ°Π½ΡΡ Π² ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
- ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π²ΡΠΎΡΠ° ΡΠ΅Π΄Π°ΠΊΡΠΈΡ Π½Π° ACL, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ Π΄Π°Π½Π½ΠΈ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΈ Π΄ΠΎΠΏΡΡΠΊΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π½Π°Π±ΠΎΡΠΈ ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ° (Π½Π°Π±ΠΎΡΠΈ ΠΎΡ ΠΏΡΠ°Π²Π°) ΠΊΡΠΌ Π²ΡΠ΅ΠΊΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π». ΠΡΠ΅ΠΊΠΈ ΠΊΠ»ΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΏΡΠ°Π²Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈ Π΄ΠΎΡΡΡΠΏΡΡ ΡΠ°ΠΌΠΎ Π΄ΠΎ ΡΠ΅ΡΠ΅Π½Π΅ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΡ ΠΊΠ»ΡΡΠΎΠ²Π΅.
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π΅ ΡΠ°Π±ΠΎΡΠ΅ΡΠ° Π² ΠΊΠ»ΡΡΡΠ΅Ρ ΡΠ΅ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Π½Π° (sharded) ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ°ΡΠ° Π·Π° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠ° (Publish-Subscribe), ΠΏΡΠΈ ΠΊΠΎΡΡΠΎ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ° Π΄ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π²ΡΠ·Π΅Π», ΠΊΡΠΌ ΠΊΠΎΠΉΡΠΎ Π΅ ΠΏΡΠΈΠ²ΡΡΠ·Π°Π½ ΠΊΠ°Π½Π°Π»ΡΡ Π·Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ ΡΠΎΠ²Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π° ΠΊΡΠΌ ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ Π²ΡΠ·Π»ΠΈ, ΠΊΠΎΠΈΡΠΎ Π²Π»ΠΈΠ·Π°Ρ Π² ΡΠ΅ΠΊΡΠΈΡΡΠ° (shard). ΠΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠ° Π½Π° ΠΊΠ°Π½Π°Π»Π°, ΠΊΠ°ΠΊΡΠΎ ΡΡΠ΅Π· ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ Π²ΡΠ·Π΅Π», ΡΠ°ΠΊΠ° ΠΈ Ρ Π²ΡΠΎΡΠΈΡΠ½ΠΈ Π²ΡΠ·Π»ΠΈ Π½Π° ΡΠ΅ΠΊΡΠΈΡΡΠ°. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ SSUBSCRIBE, SUNSUBSCRIBE ΠΈ SPUBLISH.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π² ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π½ΠΎΠ²ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ:
- ZMPOP, BZMPOP.
- LMPOP, BLMPOP.
- SINTERCARD, ZINTERCARD.
- SPUBLISH, SSUBSCRIBE, SUNSUBSCRIBE, PUBSUB SHARDCHANNELS/SHARDNUMSUB.
- EXPIRETIME, PEXPIRETIME.
- EVAL_RO, EVALSHA_RO, SORT_RO.
- FUNCTION *, FCALL, FCALL_RO.
- COMMAND DOCS, COMMAND LIST.
- LATENCY HISTOGRAM.
- CLUSTER SHARDS, CLUSTER LINKS, CLUSTER DELSLOTSRANGE, CLUSTER ADDSLOTSRANGE.
- CLIENT NO-EVICT.
- ACL DRYRUN.
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π² Π΅Π΄ΠΈΠ½ ΠΏΠΎΠ²ΠΈΠΊ CONFIG SET/GET.
- Π ΡΡΠΈΠ»ΠΈΡΠ° redis-cli ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΎΠΏΡΠΈΠΈΡΠ΅ Β«βjsonΒ», Β«-2Β», Β«βscanΒ», Β«βfunctions-rdbΒ».
- ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ Π΄ΠΎΡΡΡΠΏΡΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ Π΄ΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΊΠΎΠΈΡΠΎ Π²Π»ΠΈΡΡΡ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΈ ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ DEBUG ΠΈ MODULE, Π·Π°Π±ΡΠ°Π½Π΅Π½Π° Π΅ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Ρ ΡΠ»Π°Π³ PROTECTED_CONFIG). Π redis-cli Π΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ ΠΈΠ·Ρ ΠΎΠ΄ΡΡ Π² ΡΠ°ΠΉΠ» Ρ ΠΈΡΡΠΎΡΠΈΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅, ΡΡΠ΄ΡΡΠΆΠ°ΡΠΈ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ.
- ΠΠ°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΡΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, Π½Π°ΡΠΎΡΠ΅Π½ΠΈ ΠΊΡΠΌ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΈ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΅ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΠΆΠΈΠΌΠ° Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠΈ, ΠΏΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ copy-on-write ΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ Ρ Π΅ΡΠΎΠ²Π΅ ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ zset. ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ Π΅ Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ° Π·Π° ΠΈΠ·ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ Π½Π° Π΄ΠΈΡΠΊ (Π²ΠΈΠΊΠ°Π½Π΅ Π½Π° fsync). ΠΠ°ΠΌΠ°Π»Π΅Π½ΠΎ Π΅ ΡΠΈΡΠ»ΠΎΡΠΎ Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΈ ΠΎΠ±Π°ΠΆΠ΄Π°Π½ΠΈΡΡΠ° Π΄ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΠΎΠ²ΠΈΡΠ΅Π½Π° Π΅ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡΠ°.
- ΠΡΡΡΡΠ°Π½Π΅Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ CVE-2022-24735 Π² ΡΡΠ΅Π΄Π° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Lua ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ° ΠΏΠΎΠ΄ΠΌΡΠ½Π° Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ Lua ΠΊΠΎΠ΄ ΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ ΠΌΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° Π΄ΡΡΠ³ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π», Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈ Ρ ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠΈ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ.
- ΠΡΡΡΡΠ°Π½Π΅Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ CVE-2022-24736, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ° Π°Π²Π°ΡΠΈΠΉΠ½ΠΎ ΡΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° redis-server ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠ°Π·ΡΠΌΠ΅Π½ΠΎΠ²Π°Π½Π΅ Π½Π° Π½ΡΠ»Π΅Π² ΡΠΊΠ°Π·Π°ΡΠ΅Π». ΠΡΠ°ΠΊΠ°ΡΠ° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΡΠ΅Π· Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½ΠΈ Lua ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
