По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ

Π₯ΠΎΡ‡ΡŽ оливьС

По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π€ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ

По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π€ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ

ΠŸΡ€ΠΎΠΈΡΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΠΌΠ΅ΠΌΠΎΠΌ ΠΈΠ· этой ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Π±Ρ‹Π» β€œΠ₯ΠΎΡ‡ΡŽ ΠΎΠ»ΠΈΠ²ΡŒΠ΅β€ с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈ Вайсона Π‘Π΅ΠΊΡ„ΠΎΡ€Π΄Π°. Π—Π° основу Π±Ρ‹Π»ΠΎ взято Π΅Π³ΠΎ Ρ„ΠΎΡ‚ΠΎ, Π³Π΄Π΅ ΠΎΠ½ Π»Π΅ΠΆΠΈΡ‚, ΠΎΠΏΠΈΡ€Π°ΡΡΡŒ Π»ΠΎΠΊΡ‚Π΅ΠΌ ΠΎ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€ΡƒΠΊΠΎΠΉ Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π³ΠΎΠ»ΠΎΠ²Ρƒ.

МСм создал ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Владислав Π‘Ρ‹ΠΊΠΎΠ², ΠΎΠ± этом ΠΎΠ½ сам рассказал β€œΠœΠ΅ΠΌΠ΅ΠΏΠ΅Π΄ΠΈΠΈβ€. По словам Π°Π²Ρ‚ΠΎΡ€Π°, ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ с Вайсоном Π‘Π΅ΠΊΡ„ΠΎΡ€Π΄ΠΎΠΌ ΠΎΠ½ форсил Π΅Ρ‰Π΅ Π² июнС – Π²ΠΎΡ‚ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°.

По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π€ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ

17 июля Π½Π° Π²ΠΎΠ»Π½Π΅ Ρ„Π»Π΅ΡˆΠΌΠΎΠ±Π°, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ β€œΠ’ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅β€ Ρ‚Ρ€ΠΎΠ»Π»ΠΈΠ»ΠΈ Ρ‚Π΅Ρ…ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сообщСств, Владислав Ρ€Π΅ΡˆΠΈΠ» ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ с Π½Π΅Π³Ρ€ΠΎΠΌ Π² Π³Ρ€ΡƒΠΏΠΏΡƒ β€œΠ“Ρ€ΡƒΠ·ΠΎΠΏΠ΅Ρ€Π΅Π²ΠΎΠ·ΠΊΠΈ Банки”, написав свСрху β€œΡ…ΠΎΡ‡Ρƒ ΠΎΠ»ΠΈΠ²ΡŒΠ΅β€ – это ΠΈ стало Π½Π°Ρ‡Π°Π»ΠΎΠΌ ΠΌΠ΅ΠΌΠ°.

По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π€ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ

Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌΡƒ форсу ΠΌΠ΅ΠΌΠ° поспособствовал ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Баша Π‘Π°ΠΆΡƒΡ€Π°, 19 июля ΠΎΠ½ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΏΠ°Π±Π»ΠΈΠΊΠ΅ ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΡƒ скринов с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ‚Π΅ΠΌΠ½ΠΎΠΊΠΎΠΆΠ΅Π³ΠΎ парня. Паблик ΠΏΠΎΠ΄Ρ…Π²Π°Ρ‚ΠΈΠ» идСю ΠΈ стал Π΄Π΅Π»Π°Ρ‚ΡŒ свои Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΈ, мСняя сначала Ρ„Ρ€Π°Π·Ρƒ, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΈ самого пСрсонаТа. Админ β€œΠ±Ρ€Π΅Π΄Π°β€ Π”Π°Π½ΠΈΠΈΠ» Π—Π΅Π»ΡŒΡ‚Π΅Π½ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΠ» β€œΠœΠ΅ΠΌΠ΅ΠΏΠ΅Π΄ΠΈΠΈβ€, Ρ‡Ρ‚ΠΎ распространСниС ΠΌΠ΅ΠΌΠ° Π½Π°Ρ‡Π°Π»ΠΎΡΡŒ с ΠΈΡ… Π³Ρ€ΡƒΠΏΠΏΡ‹, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ запустили Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹ΠΉ ΠΌΠ΅ΠΌ β€œΡ€Π΅Π΄ΠΈΡΠ° килограмчик”.

ΠŸΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½ΠΎ ΠΌΠ΅ΠΌ стал ΠΏΡ€ΠΎΠ½ΠΈΠΊΠ°Ρ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ сообщСства с абстрактным ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ стали Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ, помСщая Π½Π° Π½ΠΈΡ… Π½Π΅Π³Ρ€ΠΎΠ² ΠΈ приписывая β€œΡ…ΠΎΡ‡ΡŽ арбуз”, β€œΡ…ΠΎΡ‡ΡŽ крыТовник” ΠΈ Ρ‚.Π΄. К сСрСдинС августа ΠΌΠ΅ΠΌ достиг ΠΏΠΈΠΊΠ° ΠΈ стал массовым.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

МСм β€œΡ…ΠΎΡ‡ΡŽ ΠΎΠ»ΠΈΠ²ΡŒΠ΅β€, ΠΊΠ°ΠΊ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ абстрактныС ΠΌΠ΅ΠΌΡ‹, лишСн смысла. Π•Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π² качСствС Ρ‚Ρ€ΠΎΠ»Π»ΠΈΠ½Π³Π° Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ β€œΠ½Π΅ Π² тСмС”, ΠΈΠ»ΠΈ для Π½Π°Π±Π΅Π³ΠΎΠ² Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ сообщСства. Π‘ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ форс пСрСрос Π²ΠΎ Ρ„Π»Π΅ΡˆΠΌΠΎΠ±, ΡΡƒΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΠ΅Ρ€Π΅ΠΊΠΈΠ΄Ρ‹Π²Π°Π½ΠΈΠΈ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ ΠΏΠΎΡ…ΠΎΠΆΠΈΡ… ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ.

Π¨Π°Π±Π»ΠΎΠ½

По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π€ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ

По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π€ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ

ГалСрСя

Если Π²Ρ‹ нашли ΠΎΡˆΠΈΠ±ΠΊΡƒ, поТалуйста, Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ тСкста ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ctrl+Enter.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Redis Π½Π° практичСских ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…

По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π€ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ
Redis β€” достаточно популярный инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ большоС количСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌΠΈ. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС ΠΊΡΡˆΠΈΡ€ΡƒΠ΅Ρ‰Π΅Π³ΠΎ слоя, Π½ΠΎ Π΅Π³ΠΎ возмоТности Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡˆΠΈΡ€Π΅. ΠœΡ‹ Π² ManyChat ΠΎΡ‡Π΅Π½ΡŒ любим Redis ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΅Π³ΠΎ Π² нашСм ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π΅ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ³ΠΎ количСства Π·Π°Π΄Π°Ρ‡. ΠŸΡ€ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ интСрСсныС кСйсы использования этой in-memory key-value Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… я расскаТу Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…. НадСюсь, Π²Π°ΠΌ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹, ΠΈ Π²Ρ‹ смоТСтС ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π² своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ….

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ кСйсы:

По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π€ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ

ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Π΅ΠΌ с самого простого, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых популярных кСйсов использования Redis β€” ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π» с Redis. Для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ ΡƒΠΆΠ΅ Π΄Π°Π²Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ этим инструмСнтом β€” ΠΌΠΎΠΆΠ½ΠΎ смСло ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ кСйсу. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° Π‘Π”, ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ максимально быстро, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ кэш. Redis β€” это in-memory Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ хранятся Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти. Π•Ρ‰Ρ‘ это key-value Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, Π³Π΄Π΅ доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎ ΠΈΡ… ΠΊΠ»ΡŽΡ‡Ρƒ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ O(1) β€” поэтому Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΎΡ‡Π΅Π½ΡŒ быстро.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Но для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· кэша ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ сначала Ρ‚ΡƒΠ΄Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ. ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ записи:

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ запишСм Π΄Π°Π½Π½Ρ‹Π΅ Π² Redis ΠΈ смоТСм ΠΈΡ… ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ самому ΠΊΠ»ΡŽΡ‡Ρƒ Π² любой Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π½Π°ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚. Но Ссли ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ всС врСмя ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Redis, Π΄Π°Π½Π½Ρ‹Π΅ Π² Π½Π΅ΠΌ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ всС большС ΠΈ большС мСста Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти. Нам Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π½Π΅Ρ€Π΅Π»Π΅Π²Π°Π½Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ достаточно ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ, поэтому пускай redis занимаСтся этим ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. Π”ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΊΠ»ΡŽΡ‡Ρƒ TTL (врСмя ΠΆΠΈΠ·Π½ΠΈ ΠΊΠ»ΡŽΡ‡Π°):

По истСчСнии Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ttl (Π² сСкундах) Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ этому ΠΊΠ»ΡŽΡ‡Ρƒ Π±ΡƒΠ΄ΡƒΡ‚ автоматичСски ΡƒΠ΄Π°Π»Π΅Π½Ρ‹.

Как говорят, Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ сущСствуСт Π΄Π²Π΅ самых слоТных Π²Π΅Ρ‰ΠΈ: ΠΏΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°Π½ΠΈΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ инвалидация кэша. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Redis ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ, достаточно Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π’Π°ΠΊΠΆΠ΅ рСдис позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ массив Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ списку ΠΊΠ»ΡŽΡ‡Π΅ΠΉ:

И соотвСтствСнно массовоС ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ массиву ΠΊΠ»ΡŽΡ‡Π΅ΠΉ:

ΠžΡ‡Π΅Ρ€Π΅Π΄ΠΈ

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ Π² Redis структуры Π΄Π°Π½Π½Ρ‹Ρ…, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ запросто Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ стандартныС ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ FIFO ΠΈΠ»ΠΈ LIFO. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ структуру List ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π½Π΅ΠΉ. Π Π°Π±ΠΎΡ‚Π° с очСрСдями состоит ΠΈΠ· Π΄Π²ΡƒΡ… основных дСйствий: ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΈ Π²Π·ΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΈΠ· ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ. ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ· любой части систСмы. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈΠ· ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΈ Π΅Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ занимаСтся Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ процСсс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся ΠΊΠΎΠ½ΡΡŒΡŽΠΌΠ΅Ρ€ΠΎΠΌ (consumer).

Π˜Ρ‚Π°ΠΊ, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½Π°ΡˆΡƒ Π·Π°Π΄Π°Ρ‡Ρƒ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Π½Π°ΠΌ достаточно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄:

Π‘ΠΎ стороны ΠΊΠΎΠ½ΡΡŒΡŽΠΌΠ΅Ρ€Π° Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ ΠΈΠ· ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, это рСализуСтся простой ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ чтСния ΠΈΠ· листа. Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ FIFO ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ с ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ записи стороны (Π² нашСм случаС ΠΌΡ‹ писали Ρ‡Π΅Ρ€Π΅Π· RPUSH), Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π±ΡƒΠ΄Π΅ΠΌ Ρ‡Π΅Ρ€Π΅Π· LPOP:

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ LIFO ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ лист с Ρ‚ΠΎΠΉ ΠΆΠ΅ стороны, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ Π² Π½Π΅Π³ΠΎ пишСм, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· RPOP.

По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π€ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ

Π’Π΅ΠΌ самым ΠΌΡ‹ Π²Ρ‹Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π΅ΠΌ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΡŽ ΠΈΠ· ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ. Π’ случаС Ссли листа Π½Π΅ сущСствуСт (ΠΎΠ½ пустой), Ρ‚ΠΎ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ NULL. ΠšΠ°Ρ€ΠΊΠ°Ρ ΠΊΠΎΠ½ΡΡŒΡŽΠΌΠ΅Ρ€Π° ΠΌΠΎΠ³ Π±Ρ‹ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π³Π»ΡƒΠ±ΠΈΠ½Π΅ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ (сколько Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ хранится Π² нашСм листС), ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

ΠœΡ‹ рассмотрСли Π±Π°Π·ΠΎΠ²ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ простых ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ, Π½ΠΎ Redis позволяСт ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТныС ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ. НапримСр, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π·Π½Π°Ρ‚ΡŒ ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ послСднСй активности Π½Π°ΡˆΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° сайтС. Нам Π½Π΅ Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ это с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ сСкунды, приСмлСмая ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒ β€” 3 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΏΠΎΠ»Π΅ last_visit ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запросС Π½Π° наш бэкСнд ΠΎΡ‚ этого ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Но Ссли этих ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ большоС количСство Π² ΠΎΠ½Π»Π°ΠΉΠ½Π΅ β€” 10,000 ΠΈΠ»ΠΈ 100,000? А Ссли Ρƒ нас Π΅Ρ‰Π΅ ΠΈ SPA, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ отправляСт ΠΌΠ½ΠΎΠ³ΠΎ асинхронных запросов? Если Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‚Π°ΠΊΠΎΠΉ запрос ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΏΠΎΠ»Π΅ Π² Π±Π΄, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ большоС количСство Ρ‚ΡƒΠΏΡ‹Ρ… запросов ΠΊ нашСй Π‘Π”. Π­Ρ‚Ρƒ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ способами, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² β€” это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ΠΊΡƒΡŽ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΡΡ…Π»ΠΎΠΏΡ‹Π²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π² ΠΎΠ΄Π½Ρƒ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π—Π΄Π΅ΡΡŒ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π½Π°ΠΌ ΠΏΡ€ΠΈΠ΄Π΅Ρ‚ такая структура, ΠΊΠ°ΠΊ Sorted SET. Π­Ρ‚ΠΎ взвСшСнноС мноТСство, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ свой вСс (score). А Ρ‡Ρ‚ΠΎ Ссли Π² качСствС score ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ timestamp добавлСния элСмСнта Π² этот sorted set? Π’ΠΎΠ³Π΄Π° ΠΌΡ‹ смоТСм ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ события Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ врСмя. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ эту ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ. Если ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ LPOP ΠΈ RPOP для листа Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ Π΅Π³ΠΎ ΠΈΠ· листа Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎ (это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ взято нСсколькими ΠΊΠΎΠ½ΡΡŒΡŽΠΌΠ΅Ρ€Π°ΠΌΠΈ), Ρ‚ΠΎ sorted set Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнта Ρ‚ΠΎΠ»ΡŒΠΊΠΎ двумя ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ. Но ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ эти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ простой LUA скрипт!

Π’ этом LUA скриптС ΠΌΡ‹ пытаСмся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с вСсом Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 0 Π΄ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ timestamp Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ val с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ZRANGEBYSCORE, Ссли Π½Π°ΠΌ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‚ΠΎ удаляСм Π΅Π³ΠΎ ΠΈΠ· sorted set ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ZREM ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ само Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ val. ВсС эти ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Ρ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π°ΡˆΡƒ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π² ΠΊΠΎΠ½ΡΡŒΡŽΠΌΠ΅Ρ€Π΅, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ построСнной Π½Π° структурС LIST.

Π― рассказал ΠΏΡ€ΠΎ нСсколько Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ² ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² нашСй систСмС. На Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρƒ нас Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ слоТныС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ построСния ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ β€” Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ…, составных, ΡˆΠ°Ρ€Π΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈ этом Redis позволяСт всС это Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ смСкалки ΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊΡ€ΡƒΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… структур ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ, Π±Π΅Π· слоТного программирования.

Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ (Mutex)

Mutex (Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°) β€” это ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ синхронизации доступа ΠΊ shared рСсурсу Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… процСссов, Ρ‚Π΅ΠΌ самым гарантируя, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ процСсс Π±ΡƒΠ΄Π΅Ρ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с этим рСсурсом Π² Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ часто примСняСтся Π² Π±ΠΈΠ»Π»ΠΈΠ½Π³Π΅ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… систСмах, Π³Π΄Π΅ Π²Π°ΠΆΠ½ΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΡƒΡŽ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ (thread safety).

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ mutex Π½Π° Π±Π°Π·Π΅ Redis прСкрасно ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ стандартный ΠΌΠ΅Ρ‚ΠΎΠ΄ SET с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ:

Π³Π΄Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ для установки mutex ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

Π§Π°Ρ‰Π΅ всСго, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ пишСм ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ пытаСтся Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с shared рСсурсом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ Π΅Π³ΠΎ Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с этим рСсурсом. Для этого ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ простой ΠΌΠ΅Ρ‚ΠΎΠ΄ для оТидания освободившСгося рСсурса:

ΠœΡ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ ΠΊΠ°ΠΊ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π΅Π΅ ΡΠ½ΠΈΠΌΠ°Ρ‚ΡŒ. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ снятиС Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ‚Π΅ΠΌ процСссом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΅Π΅ установил, Π½Π°ΠΌ понадобится ΠΏΠ΅Ρ€Π΅Π΄ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ значСния ΠΈΠ· Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Redis, ΡΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹ΠΉ Ρ…ΡΡˆ ΠΏΠΎ этому ΠΊΠ»ΡŽΡ‡Ρƒ. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎ, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ LUA скриптом:

Rate limiter

Достаточно частая Π·Π°Π΄Π°Ρ‡Π°, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ количСство запросов ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ Π°ΠΏΠΈ. НапримСр Π½Π° ΠΎΠ΄ΠΈΠ½ API endpoint ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 100 запросов Π² ΠΌΠΈΠ½ΡƒΡ‚Ρƒ. Π­Ρ‚Π° Π·Π°Π΄Π°Ρ‡Π° Π»Π΅Π³ΠΊΠΎ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ нашСго любимого Redis:

Π’Π°ΠΊΠΈΠΌ простым ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π»ΠΈΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ количСство запросов ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ API, Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ каркас нашСго ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΌΠΎΠ³ Π±Ρ‹ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Pub/sub

Pub/sub β€” интСрСсный ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт, с ΠΎΠ΄Π½ΠΎΠΉ стороны, ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° ΠΊΠ°Π½Π°Π» ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ сообщСния ΠΈΠ· Π½Π΅Π³ΠΎ, с Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны β€” ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π² этот ΠΊΠ°Π½Π°Π» сообщСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ всСми подписчиками. НавСрноС Ρƒ ΠΌΠ½ΠΎΠ³ΠΈΡ…, ΠΊΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π» с вСбсокСтами, Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° аналогия с этим ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ, ΠΎΠ½ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈ. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ pub/sub Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ доставки сообщСний, ΠΎΠ½ Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ консистСнтности, поэтому Π½Π΅ стоит Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² систСмах, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Π°ΠΆΠ½Ρ‹ эти ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ. Однако рассмотрим этот ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π½Π° практичСском ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ большоС количСство Π΄Π΅ΠΌΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ. ΠŸΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ нашСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΡ‹ подписываСмся Π½Π° ΠΊΠ°Π½Π°Π», Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ сообщСния с инструкциями. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны Ρƒ нас Π΅ΡΡ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ отправляСт сообщСния с инструкциям Π² ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΊΠ°Π½Π°Π». К соТалСнию, стандартный PHP Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΎΠ΄Π½ΠΎΠΌ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅; для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π΄ΡƒΠΌΠ°Π½Π½ΠΎΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ReactPHP ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄ Π½Π΅Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Redis.

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° сообщСния Π² ΠΊΠ°Π½Π°Π» β€” Π±ΠΎΠ»Π΅Π΅ простоС дСйствиС, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ ΠΈΠ· любого мСста систСмы ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‚Π°ΠΊΠΎΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСния Π² ΠΊΠ°Π½Π°Π», всС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ подписаны Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠ°Π½Π°Π», ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ это сообщСниС.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ

По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π€ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ

По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π€ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ

ΠŸΡ€ΠΎΠΈΡΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΠΌΠ΅ΠΌΠΎΠΌ ΠΈΠ· этой ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Π±Ρ‹Π» Β«Π₯ΠΎΡ‡ΡŽ оливьС» с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈ Вайсона Π‘Π΅ΠΊΡ„ΠΎΡ€Π΄Π°. Π—Π° основу Π±Ρ‹Π»ΠΎ взято Π΅Π³ΠΎ Ρ„ΠΎΡ‚ΠΎ, Π³Π΄Π΅ ΠΎΠ½ Π»Π΅ΠΆΠΈΡ‚, ΠΎΠΏΠΈΡ€Π°ΡΡΡŒ Π»ΠΎΠΊΡ‚Π΅ΠΌ ΠΎ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ€ΡƒΠΊΠΎΠΉ Π΄Π΅Ρ€ΠΆΠΈΡ‚ Π³ΠΎΠ»ΠΎΠ²Ρƒ.

МСм создал ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Владислав Π‘Ρ‹ΠΊΠΎΠ², ΠΎΠ± этом ΠΎΠ½ сам рассказал «МСмСпСдии». По словам Π°Π²Ρ‚ΠΎΡ€Π°, ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ с Вайсоном Π‘Π΅ΠΊΡ„ΠΎΡ€Π΄ΠΎΠΌ ΠΎΠ½ форсил Π΅Ρ‰Π΅ Π² июнС β€” Π²ΠΎΡ‚ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°.

По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π€ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ

17 июля Π½Π° Π²ΠΎΠ»Π½Π΅ Ρ„Π»Π΅ΡˆΠΌΠΎΠ±Π°, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Β«Π’ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅Β» Ρ‚Ρ€ΠΎΠ»Π»ΠΈΠ»ΠΈ Ρ‚Π΅Ρ…ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сообщСств, Владислав Ρ€Π΅ΡˆΠΈΠ» ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ с Π½Π΅Π³Ρ€ΠΎΠΌ Π² Π³Ρ€ΡƒΠΏΠΏΡƒ Β«Π“Ρ€ΡƒΠ·ΠΎΠΏΠ΅Ρ€Π΅Π²ΠΎΠ·ΠΊΠΈ Π‘Π°Π½ΠΊΠΈΒ», написав свСрху Β«Ρ…ΠΎΡ‡Ρƒ оливьС» β€” это ΠΈ стало Π½Π°Ρ‡Π°Π»ΠΎΠΌ ΠΌΠ΅ΠΌΠ°.

По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π€ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ

Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌΡƒ форсу ΠΌΠ΅ΠΌΠ° поспособствовал ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Баша Π‘Π°ΠΆΡƒΡ€Π°, 19 июля ΠΎΠ½ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΏΠ°Π±Π»ΠΈΠΊΠ΅ ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΡƒ скринов с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ‚Π΅ΠΌΠ½ΠΎΠΊΠΎΠΆΠ΅Π³ΠΎ парня. Паблик ΠΏΠΎΠ΄Ρ…Π²Π°Ρ‚ΠΈΠ» идСю ΠΈ стал Π΄Π΅Π»Π°Ρ‚ΡŒ свои Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΈ, мСняя сначала Ρ„Ρ€Π°Π·Ρƒ, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΈ самого пСрсонаТа. Админ Β«Π±Ρ€Π΅Π΄Π°Β» Π”Π°Π½ΠΈΠΈΠ» Π—Π΅Π»ΡŒΡ‚Π΅Π½ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΠ» «МСмСпСдии», Ρ‡Ρ‚ΠΎ распространСниС ΠΌΠ΅ΠΌΠ° Π½Π°Ρ‡Π°Π»ΠΎΡΡŒ с ΠΈΡ… Π³Ρ€ΡƒΠΏΠΏΡ‹, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ запустили Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹ΠΉ ΠΌΠ΅ΠΌ «рСдиса ΠΊΠΈΠ»ΠΎΠ³Ρ€Π°ΠΌΡ‡ΠΈΠΊΒ».

ΠŸΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½ΠΎ ΠΌΠ΅ΠΌ стал ΠΏΡ€ΠΎΠ½ΠΈΠΊΠ°Ρ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ сообщСства с абстрактным ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ стали Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ, помСщая Π½Π° Π½ΠΈΡ… Π½Π΅Π³Ρ€ΠΎΠ² ΠΈ приписывая Β«Ρ…ΠΎΡ‡ΡŽ Π°Ρ€Π±ΡƒΠ·Β», Β«Ρ…ΠΎΡ‡ΡŽ ΠΊΡ€Ρ‹ΠΆΠΎΠ²Π½ΠΈΠΊΒ» ΠΈ Ρ‚.Π΄. К сСрСдинС августа ΠΌΠ΅ΠΌ достиг ΠΏΠΈΠΊΠ° ΠΈ стал массовым.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

МСм Β«Ρ…ΠΎΡ‡ΡŽ оливьС», ΠΊΠ°ΠΊ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ абстрактныС ΠΌΠ΅ΠΌΡ‹, лишСн смысла. Π•Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π² качСствС Ρ‚Ρ€ΠΎΠ»Π»ΠΈΠ½Π³Π° Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Β«Π½Π΅ Π² Ρ‚Π΅ΠΌΠ΅Β», ΠΈΠ»ΠΈ для Π½Π°Π±Π΅Π³ΠΎΠ² Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ сообщСства. Π‘ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ форс пСрСрос Π²ΠΎ Ρ„Π»Π΅ΡˆΠΌΠΎΠ±, ΡΡƒΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΠ΅Ρ€Π΅ΠΊΠΈΠ΄Ρ‹Π²Π°Π½ΠΈΠΈ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ ΠΏΠΎΡ…ΠΎΠΆΠΈΡ… ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ.

Π¨Π°Π±Π»ΠΎΠ½

По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π€ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ

По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ. Π€ΠΎΡ‚ΠΎ По Ρ‡Π΅ΠΌ рСдис ΠΌΠ΅ΠΌ

ГалСрСя

Если Π²Ρ‹ нашли ΠΎΡˆΠΈΠ±ΠΊΡƒ, поТалуйста, Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ тСкста ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ctrl+Enter.

ΠžΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° Π½Π° достиТСниС максимальной ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π° Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Ρ… опСрациях (заявляСтся ΠΎ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ 100 тыс. SET- ΠΈ GET-запросов Π² сСкунду Π½Π° Linux-сСрвСрС Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ уровня [5] ). Написана Π½Π° Π‘ΠΈ, интСрфСйсы доступа созданы для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° основных языков программирования.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π”ΠΈΠ·Π°ΠΉΠ½ [ ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ | ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ]

Π₯Ρ€Π°Π½ΠΈΡ‚ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, снабТСна ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ снимков ΠΈ Турналирования для обСспСчСния постоянного хранСния (Π½Π° дисках, Ρ‚Π²Π΅Ρ€Π΄ΠΎΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… накопитСлях). Π’Π°ΠΊΠΆΠ΅ прСдоставляСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями Π² шаблонС Β«ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ-подписчик»: с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ прилоТСния ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠ°Π½Π°Π»Ρ‹, ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π° Π½ΠΈΡ… ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π² ΠΊΠ°Π½Π°Π»Ρ‹ сообщСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ всСми подписчиками (ΠΊΠ°ΠΊ IRC-Ρ‡Π°Ρ‚). ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… с основных ΡƒΠ·Π»ΠΎΠ² Π½Π° нСсколько ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Ρ‘Π½Π½Ρ‹Ρ… (Π°Π½Π³Π». master β€” slave replication ). Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΊΠΎΠΌΠ°Π½Π΄ (Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²).

Π’ вСрсии 2.6.0 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Lua, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ запросы Π½Π° сСрвСрС. Lua позволяСт Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° сСрвСрС ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для использования Π² случаС, ΠΊΠΎΠ³Π΄Π° нСльзя Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° с использованиСм стандартных ΠΊΠΎΠΌΠ°Π½Π΄.

МодСли Π΄Π°Π½Π½Ρ‹Ρ… [ ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ | ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ]

ВсС Π΄Π°Π½Π½Ρ‹Π΅ Redis Ρ…Ρ€Π°Π½ΠΈΡ‚ Π² Π²ΠΈΠ΄Π΅ словаря, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΊΠ»ΡŽΡ‡ΠΈ связаны со своими значСниями. Одно ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΉ Redis ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ значСния этих ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ строками. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ абстрактныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…: строки, списки, мноТСства, Ρ…Π΅Ρˆ-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, упорядочСнныС мноТСства.

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… значСния опрСдСляСт, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹) доступны для Π½Π΅Π³ΠΎ; ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠ΅ высокоуровнСвыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠ°ΠΊ объСдинСниС ΠΈ Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ΠΎΠ², сортировка Π½Π°Π±ΠΎΡ€ΠΎΠ².

ВосстановлСниС Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ рСпликация [ ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ | ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ]

ВосстановлСниС Π΄Π°Π½Π½Ρ‹Ρ… проводится двумя Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ способами. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ β€” это ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ снимков, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Π΅ асинхронно пСрСносятся ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти Π² Ρ„Π°ΠΉΠ» Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° RDB (Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π΄Π°ΠΌΠΏΠΎΠ² Redis). Π’Ρ‚ΠΎΡ€ΠΎΠΉ способ (с вСрсии 1.1) β€” ΠΆΡƒΡ€Π½Π°Π» ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ записи, доступный Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для дозаписи, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранятся всС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, измСнявшиС Π΄Π°Π½Π½Ρ‹Π΅ Π² памяти.

БистСма ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡŽ с Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΡƒΠ·Π»ΠΎΠ² Π½Π° Π²Π΅Π΄ΠΎΠΌΡ‹Π΅. Π”Π°Π½Π½Ρ‹Π΅ с любого сСрвСра Redis ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π΅ΠΏΠ»ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ количСство Ρ€Π°Π·. ВсС Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π½Π° ΠΎΠ΄ΠΈΠ½ ΡƒΠ·Π΅Π» Redis (Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ, Π°Π½Π³Π». master ), Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΏΠ°Π΄Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΡƒΠ·Π»Ρ‹ (Π²Π΅Π΄ΠΎΠΌΡ‹Π΅, Π°Π½Π³Π». slave ). Для конфигурирования Π²Π΅Π΄ΠΎΠΌΡ‹Ρ… ΡƒΠ·Π»ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ slaveof ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΡƒΡŽ ΠΏΠΎ написанию ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ (ΡƒΠ·Π»Ρ‹, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ Π±Π΅Π· ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΎΠΏΡ†ΠΈΠΉ, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Π΅Π΄ΡƒΡ‰ΠΈΠΌΠΈ ΡƒΠ·Π»Π°ΠΌΠΈ).

РСпликация ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, копируя ΠΈΡ… Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ сСрвСра. РСпликация Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована для увСличСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ запросы Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π²Π΅Π΄ΠΎΠΌΡ‹ΠΌΠΈ ΡƒΠ·Π»Π°ΠΌΠΈ (Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΡŽ, Π½ΠΎ Π½Π΅ ΠΏΠΎ записи). Π£Π·Π»Ρ‹-Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ слСгка ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Π½ΠΎ для ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ это ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ.

БистСма Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Redis сама ΠΏΠΎ сСбС Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡ‚ΠΊΠ°Π·ΠΎΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ: Ссли Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ ΡƒΠ·Π΅Π» Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ· строя, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π²Π΅Π΄ΡƒΡ‰Π΅Π³ΠΎ срСди Π²Π΅Π΄ΠΎΠΌΡ‹Ρ… ΡƒΠ·Π»ΠΎΠ²; Π½ΠΎ имССтся систСма Redis Sentinel, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ автоматичСскоС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.

Redis Sentinel [ ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ | ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ]

Redis Sentinel β€” спСциализированная систСма управлСния ΡƒΠ·Π»Π°ΠΌΠΈ Redis, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π°Ρ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ:

Redis Sentinel Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² состав Redis начиная с вСрсии 2.6 (Sentinel 1 β€” устарСл). Начиная с вСрсии Redis 2.8 поставляСтся тСкущая вСрсия β€” Sentinel 2.

Sentinel Π½Π΅ рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² СдинствСнном экзСмплярС, кластСр Sentinel-ΡƒΠ·Π»ΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ²ΠΎΡ€ΡƒΠΌ, благодаря Ρ‡Π΅ΠΌΡƒ сохраняСт Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌ составС ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌ отсутствии Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ· Π½ΠΈΡ….

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *