ΠΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΈ ΡΠ° ΠΏΡΡΠ²ΠΈΡΠ΅ ΠΈΠ·Π΄Π°Π½ΠΈΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° 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
