ΠΠ±ΡΠ½ΠΎΡΡ Valkey ΠΎΠ±ΡΠ²ΠΈ Π·Π° ΠΈΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Valkey 9.1 β Π½ΠΎΠ²Π° ΡΡΠ°Π±ΠΈΠ»Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π·Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ ΡΠΈΠΏΠ° βΠΊΠ»ΡΡ-ΡΡΠΎΠΉΠ½ΠΎΡΡβ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ (Π»ΠΈΡΠ΅Π½Π·ΠΈΡ BSD), ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅, ΠΊΠ°ΡΠΎ ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ ΠΈ ΠΎΠΏΠ°ΡΠΊΠΈ Π·Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ»ΡΠΆΠΈ ΠΈ ΠΊΠ°ΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. ΠΡΠΎΠ΅ΠΊΡΡΡ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΎΡ Linux Foundation, ΠΊΠΎΠ΅ΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠ° Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΠΏΠΎΡΡΠΎΡΠ½Π½Π° Π½Π°Π»ΠΈΡΠ½ΠΎΡΡ Π²ΡΠ² Π²ΠΈΠ΄ Π½Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄.
ΠΡΠΎΠ΅ΠΊΡΡΡ Π΅ ΡΠΎΡΠΊ Π½Π° Redis ΠΈ Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΡΠ»Π΅Π΄ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠ°Π½Π΅ΡΠΎ ΠΌΡ.
Π’ΠΎΠ²Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΊΠ»ΡΡΠ²Π° Π½ΠΎΠ²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠ°. Π ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ°ΡΠ° Π½Π° ΡΠ΅Π»ΠΈΠ·Π° ΡΠ° ΡΡΠ°ΡΡΠ²Π°Π»ΠΈ Π½Π°Π΄ 80 Π΄ΡΡΠΈ.
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ
Lua Π΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½ Π² ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΌΠΎΠ΄ΡΠ».
Π Valkey 9.1 Π΄Π²ΠΈΠΆΠΎΠΊΡΡ Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ΡΠ΅ Lua Π΅ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΡΡΡΠ²ΡΡ ΠΈ Π΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½ Π² ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π΅Π½ ΠΌΠΎΠ΄ΡΠ». Π’Π°ΠΊΠΎΠ²Π° ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π°ΠΌΠ°Π»ΡΠ²Π° ΠΏΠΎΠ²ΡΡΡ Π½ΠΎΡΡΡΠ° Π½Π° Π°ΡΠ°ΠΊΠ° Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Valkey ΠΈ Π΄Π°Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ Π½Π°ΠΏΡΠ»Π½ΠΎ Π΄Π° ΠΈΠ·ΠΊΠ»ΡΡΠ°Ρ Lua, Π°ΠΊΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ΡΠ΅ ΠΌΡ Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ. ΠΠ° Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎ-Π»Π΅ΡΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠ²Π°, ΠΊΠΎΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²ΠΈ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΠΈ ΡΠ° Π·Π°ΡΠ΅Π΄Π΅Π½ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° INFO Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»Π° Π½ΠΎΠ² ΡΠ°Π·Π΄Π΅Π» Π² ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ° β Scripting Engines.ΠΠΎΠ²ΠΈ ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΈ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ.
Π ΡΡΠ°Π±ΠΈΠ»Π½ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ 9.1.0 ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈ Π½Π° ΡΡΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ: use-after-free Π² ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΠΎΡΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ, Π½Π΅ΠΊΠΎΡΠ΅ΠΊΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° 7RESTORE, ΠΊΠ°ΠΊΡΠΎ ΠΈ use-after-free ΠΏΡΠΈ ΠΏΡΠ»Π½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Lua/function-ΠΊΠΎΠ΄Π° Ρ ΠΎΡΡΡΡΠΏΠΊΠ° ΠΏΡΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ. Π Π±Π΅Π»Π΅ΠΆΠΊΠΈΡΠ΅ ΡΠ΅ ΡΠ° ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈ ΠΊΠ°ΡΠΎ CVE-2026-23479, CVE-2026-25243 ΠΈ CVE-2026-23631.ACL Π½Π° Π½ΠΈΠ²ΠΎ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ.
ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π½Π° Π½ΠΈΠ²ΠΎ ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ. Π’ΠΎΠ²Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΠΎ-Π΄Π΅Π»ΠΈΠΊΠ°ΡΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΏΡΠ°Π²Π°ΡΠ° Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈ Π½Π΅ ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π° ΡΠ°ΠΌΠΎ Π΄ΠΎ Π³Π»ΠΎΠ±Π°Π»Π½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π½Π° Π΄ΠΎΡΡΡΠΏ Π½Π° Π½ΠΈΠ²ΠΎ ΡΡΠ» Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° Valkey.ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° TLS ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ.
Valkey 9.1 ΠΏΠΎΠ»ΡΡΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° TLS ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ. ΠΠ° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ ΡΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΡΡΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈ ΡΠΎΡΠ°ΡΠΈΡ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ ΠΈ ΠΏΠΎ-ΡΠ΄ΠΎΠ±Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π·Π°ΡΠΈΡΠ΅Π½ΠΈ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΠΈ.ΠΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° HGETDEL.
ΠΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΠΈ ΠΈΠ·ΡΡΠΈΠ²Π° Π΅Π΄Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎΠ»Π΅ΡΠ° ΠΎΡ hash-ΡΡΡΡΠΊΡΡΡΠ°. ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡΡ ΡΠΌΠΈΡΡΠ» β ΡΡΠ΅Π½Π°ΡΠΈΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π½Π° ΠΎΠΏΠ°ΡΠΊΠ° ΠΈΠ»ΠΈ Π΅Π΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΊΡΠ΄Π΅ΡΠΎ ΠΏΡΠ΅Π΄ΠΈ ΡΠ΅ Π½Π°Π»Π°Π³Π°ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° HGET ΠΈ HDEL ΡΡΠ΅Π· ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ.ΠΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° MSETEX.
MSETEX ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Ρ Π΅Π΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π° ΡΠ΅ Π·Π°Π΄Π°Π΄Π°Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠ»ΡΡΠ° Ρ ΠΎΠ±ΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΆΠΈΠ²ΠΎΡ. ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π·Π° ΡΠ°ΠΊΡΠ² ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π±ΡΡ Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π½Π° SETEX ΠΈΠ»ΠΈ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° SET ΠΈ EXPIRE ΡΡΠ΅Π· pipeline. ΠΠΎΠ²Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π° Π±ΡΠΎΡ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ ΠΈ ΠΎΠΏΡΠΎΡΡΡΠ²Π° ΡΠΈΠΏΠΈΡΠ½ΠΈΡ ΠΊΠΎΠ΄ Π·Π° ΡΠ΅ΡΠΈΠΎΠ½Π½ΠΈ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ Π΄Π°Π½Π½ΠΈ.ΠΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° CLUSTERSCAN.
Π ΠΊΠ»Π°ΡΡΠ΅ΡΠΈΡΠ΅ ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ Π΅Π΄ΠΈΠ½Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΏΠΎ Π²ΡΠΈΡΠΊΠΈ Π²ΡΠ·Π»ΠΈ. ΠΡΠ΅Π΄ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ ΡΡΡΠ±Π²Π°ΡΠ΅ ΡΠ°ΠΌΠΈ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ SCAN Π½Π° Π²ΡΠ΅ΠΊΠΈ Π²ΡΠ·Π΅Π» ΠΈ Π΄Π° ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π°Ρ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅. CLUSTERSCAN ΠΎΠΏΡΠΎΡΡΡΠ²Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡΠΊΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΊΠ°ΡΠΎ ΡΡΡΡΠ΅Π½Π΅ Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅ ΠΏΠΎ ΡΠ°Π±Π»ΠΎΠ½ ΠΈΠ»ΠΈ ΡΠΈΠΏ Π² ΡΠ΅Π»ΠΈΡ ΠΊΠ»ΡΡΡΠ΅Ρ.ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΎΡ Π½ΠΈΠ·ΠΎΠ²Π΅.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΡΡΠ΅ΡΠ½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈΡΠ΅ Π·Π° Π½ΠΈΠ·ΠΎΠ²Π΅ ΠΏΠΎ-ΠΊΡΡΠΈ ΠΎΡ 128 Π±Π°ΠΉΡΠ° Π΅ ΠΎΠ±ΡΠ²Π΅Π½ΠΎ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Ρ Π΄ΠΎ 20%. Π’ΠΎΠ²Π° Π΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ Π·Π° ΡΠΈΠΏΠΈΡΠ½ΠΈΡΠ΅ ΠΊΠ΅ΡΠΈΡΠ°ΡΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ, ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π° Π³ΠΎΠ»ΡΠΌΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠ°Π»ΠΊΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ.ΠΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΏΠ°ΠΌΠ΅Ρ Π·Π° sorted sets.
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ Π½Π° skiplist-ΡΡΡΡΠΊΡΡΡΠΈΡΠ΅ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Ρ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΠΏΠ°ΠΌΠ΅Ρ Π·Π° sorted set Ρ Π΄ΠΎ 10%. ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΡΠ° ΡΡΠΊΠΎΡΠ΅Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π½Π°Π΄ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π·Π°ΡΠ²ΠΊΠΈ ΠΊΠ°ΡΠΎ ZRANGEBYSCORE ΠΈ ZRANGEBYLEX.Π£ΡΠΊΠΎΡΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ rehashing.
ΠΡΡΡΠ΅ΡΠ½ΠΎΡΠΎ ΠΏΡΠ΅ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° hash-ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ΡΡΠΎ ΡΠ΅ ΠΏΡΠΎΡΠ²ΡΠ²Π° ΠΏΡΠΈ ΡΠ°ΡΡΠ΅ΠΆ Π½Π° keyspace, Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΎ Ρ ΡΠ΅Π» Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡΡΠ°. Π Π±Π΅Π»Π΅ΠΆΠΊΠΈΡΠ΅ Π·Π° Π²Π΅ΡΡΠΈΡΡΠ° ΡΡΡΠΎ Π΅ ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠΎ Π½Π°ΠΌΠ°Π»Π΅Π½ΠΈΠ΅ Π½Π° Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΡΠ° ΠΏΡΠΈ spikes Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° incremental page release.ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΌΠΎΠ΄Π΅Π» Π½Π° I/O threading.
Π ΡΠ΅Π»ΠΈΠ·-ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ 9.1.0-rc2 Π±Π΅ΡΠ΅ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΌΠΎΠ΄Π΅Π»ΡΡ Π½Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ²Π΅ΡΠ΅ Π·Π° Π²Ρ ΠΎΠ΄Π½ΠΎ-ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° lock-free queues. Π Π±Π΅Π»Π΅ΠΆΠΊΠΈΡΠ΅ Π΅ ΠΎΡΠ±Π΅Π»ΡΠ·Π°Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΏΡΡΠΊΠ½Π°ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ ΠΌΠ΅ΠΆΠ΄Ρ 8β17%.Π£ΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° GET ΠΈ SET.
Valkey ΡΠ΅Π³Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ ΡΠ°ΡΠΎΠ²Π½ΠΈΡΠΈ, ΠΊΡΠ΄Π΅ΡΠΎ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π° ΡΠ°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ. ΠΡΠΎΠ΅ΠΊΡΡΡ ΠΎΡΠ±Π΅Π»ΡΠ·Π²Π° ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° GET ΠΈ SET Ρ Π΄ΠΎ 3% Π² ΡΡΠ»ΠΎΡΡ.ΠΠΎ-Π±ΡΡΠ·ΠΎ ΠΌΠ°ΡΠΎΠ²ΠΎ ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅.
ΠΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠ°ΡΠΎ SREM, ZREM ΠΈ HDEL Valkey ΡΠ΅Π³Π° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΏΠΈΡΠ° Π²ΡΡΡΠ΅ΡΠ½Π°ΡΠ° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠΈΡΠ΅ Π½Π° hash-ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅, Π·Π° Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π΅ ΠΈΠ·Π»ΠΈΡΠ½ΠΎΡΠΎ rehashing ΠΈ Π΄Π° ΡΡΠΊΠΎΡΠΈ ΠΌΠ°ΡΠΎΠ²ΠΎΡΠΎ ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ Π½Π° Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ.ΠΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ ΠΏΡΠΈ AOF.
ΠΡΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ° Ρ Π²ΠΊΠ»ΡΡΠ΅Π½Π° AOF ΡΠ΅Π³Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡΡ RDB-ΡΠ°ΠΉΠ» Π²ΠΌΠ΅ΡΡΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½ΠΎΠ²Π° ΡΠ½ΠΈΠΌΠΊΠ° Π·Π° Π½Π°ΡΠ°Π»Π½ΠΈΡ AOF Π±Π°Π·ΠΎΠ² ΡΠ°ΠΉΠ». Π’ΠΎΠ²Π° ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈ ΠΈΠ·Π»ΠΈΡΠ½Π°ΡΠ° Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½ΠΎΡΡ ΠΏΡΠΈ ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ.ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² valkey-cli ΠΈ valkey-benchmark.
Π valkey-cli Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π°ΡΠΎΠΌΠ½Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π½Π° ΡΠ»ΠΎΡΠΎΠ²Π΅ ΡΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° βcluster-use-atomic-slot-migration Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ βcluster rebalance ΠΈ βcluster reshard. Π valkey-benchmark Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΎ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° RPS, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ βwarmup ΠΈ βduration, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ°Π²ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΏΠΎ-ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΈ.
ΠΡΠ΄Π΅Π»Π½ΠΎ, Π·Π°Π΅Π΄Π½ΠΎ Ρ Valkey 9.1 Π² Π΅ΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π½Π°ΠΏΡΠ΅Π΄Π²Π°Ρ ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ: Valkey Admin Π·Π° Π²ΠΈΠ·ΡΠ°Π»Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ»ΡΡΡΠ΅ΡΠΈ, Valkey Search 1.2 Ρ ΠΏΡΠ»Π½ΠΎΡΠ΅ΠΊΡΡΠΎΠ²ΠΎ ΡΡΡΡΠ΅Π½Π΅, ΡΠΈΡΠ»Π΅Π½ΠΈ ΡΠΈΠ»ΡΡΠΈ, ΡΠ°Π³ΠΎΠ²Π΅ ΠΈ Π²Π΅ΠΊΡΠΎΡΠ½ΠΎ ΡΡΡΡΠ΅Π½Π΅, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Valkey GLIDE.
Valkey 9.1 β Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡΡΠ°: ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΏΠ°ΠΌΠ΅Ρ Π·Π° ΡΠΈΠΏΠΈΡΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ, ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡ ΠΏΡΠΈ Π²ΡΡΡΠ΅ΡΠ½ΠΈ ΠΏΡΠ΅ΡΡΡΡΠΎΠΉΡΡΠ²Π°, Π½ΠΎΠ²ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° ΠΊΠ»ΡΡΡΠ΅ΡΠΈ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π²ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠΎ-ΠΏΡΠ΅ΡΠΈΠ·Π½Π° ΠΌΠΎΠ΄Π΅Π» Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΈ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: linux.org.ru
