ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ ΠΏΠ΅ΡΠ²ΡΠ΅ Π²ΡΠΏΡΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Redka, Π½Π°ΡΠ΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ RESP-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΈ API, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ Ρ Π‘Π£ΠΠ Redis, Π½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ SQLite. ΠΠ°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ SQLite Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π΄Π°Π½Π½ΡΠΌ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ·ΡΠΊΠ° SQL, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΡΡΡΠΎΠ² ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½ΡΡ . ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ACID-ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ. Redka ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π² ΡΠΎΡΠΌΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ΅Π³ΠΎ Π·Π°ΠΏΡΠΎΡΡ ΠΏΠΎ ΡΠ΅ΡΠΈ, ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΡΠ·ΡΠΊΠ° Go. ΠΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ Go ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ BSD.
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π² Redka Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΈΠΏΠΎΠ² Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΠΈ Ρ ΡΡΠ°ΠΌΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠ»ΡΡΠ°ΠΌΠΈ, ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌΠΈ ΠΈ Ρ ΡΡΠ°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΊ ΠΊΠ»ΡΡΡ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, Π·Π°Π΄Π°Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΆΠΈΠ·Π½ΠΈ ΠΊΠ»ΡΡΠ΅ΠΉ, ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°/Π΄Π΅ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΏΠΎΠΈΡΠΊΠ° ΠΊΠ»ΡΡΠ΅ΠΉ ΠΏΠΎ ΡΠ°Π±Π»ΠΎΠ½Ρ, ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅ΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΎΡΠΌΠ΅Π½Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΠ»ΡΠΌΠΈ Π² Ρ ΡΡΠ°Ρ .
Π Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠΏΠΈΡΠΊΠΎΠ², ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ (sets) ΠΈ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ. Π ΠΎΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΉ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° HyperLogLog, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈ publish/subscribe. ΠΠΎΠΊΠ° Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π½Π° ΡΠ·ΡΠΊΠ΅ Lua, Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ACL, watch/unwatch ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΠ. Π’ΠΎΡΠ½ΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ² (Redis Cluster) ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° (Redis Sentinel).
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Redis, ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎ, ΡΡΠΎ Redka Π² 2-6 ΡΠ°Π· ΠΎΡΡΡΠ°ΡΡ ΠΎΡ Redis ΠΈΠ·-Π·Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ
ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΊΠ»ΡΡ/Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π² ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΌ ΡΠ΅ΡΡΠΎΠ²ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ Redis ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π» ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π² 133 ΡΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ SET Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ ΠΈ 139 ΡΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ GET Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Redka ΡΠΎΡΡΠ°Π²ΠΈΠ»Π° 30 ΡΡΡΡΡ SET Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ ΠΈ 63 ΡΡΡΡΡΠΈ GET Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΠ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π»Π°ΡΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠΈ Ρ
ΡΠ°Π½Π΅Π½ΠΈΠΈ ΠΠ Π½Π° Π΄ΠΈΡΠΊΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Redka ΡΠΎΡΡΠ°Π²ΠΈΠ»Π° 22 ΡΡΡΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ SET Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ ΠΈ 56 ΡΡΡΡΡ GET Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru