ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΡΠ΅Π»ΠΈΠ· Π‘Π£ΠΠ Redis 7.0, ΠΎΡΠ½ΠΎΡΡΡΠ΅ΠΉΡΡ ΠΊ ΠΊΠ»Π°ΡΡΡ NoSQL-ΡΠΈΡΡΠ΅ΠΌ. Redis ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΊΠ»ΡΡ/Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ² Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠΏΠΈΡΠΊΠΈ, Ρ ΡΡΠΈ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΠΊΡΠΈΠΏΡΠΎΠ²-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π½Π° ΡΠ·ΡΠΊΠ΅ Lua. ΠΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ BSD. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom, Ρ 2019 Π³ΠΎΠ΄Π° ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΏΠΎΠ΄ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΠΎΠΉ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ RSAL. Π Π°Π·Π²ΠΈΡΠΈΠ΅ ΠΎΡΠΊΡΡΡΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ AGPLv3 ΠΏΡΡΠ°Π»ΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ GoodFORM, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΡΠ°Π³Π½Π°ΡΠΈΠΈ.
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ 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