Найти Π² Π”Π·Π΅Π½Π΅

πŸš€ ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” это Π½Π΅ оптимизация, Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

Когда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡΠ»Ρ‹ΡˆΠ°Ρ‚ слово Β«ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅Β», Ρƒ Π½ΠΈΡ… ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ассоциации с Ρ‡Π΅ΠΌ-Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ для ускорСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния. Π›ΠΎΠ³ΠΈΠΊΠ° проста: Ссли Π΄Π°Π½Π½Ρ‹Π΅ «рядом», Π² быстрой памяти, Ρ‚ΠΎ ΠΈ доступ ΠΊ Π½ΠΈΠΌ происходит быстрСС, ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π»Π΅Ρ‚Π°Π΅Ρ‚. Но Π½Π° самом Π΄Π΅Π»Π΅ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” это Π½Π΅ просто оптимизация скорости, Π° полноцСнная абстракция, Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄Π΅Π»Π°Π΅Ρ‚ систСму понятнСС ΠΈ ΠΏΡ€ΠΎΡ‰Π΅. πŸ“š ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ всСгда Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ идСально? Если Π²Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ с классичСскими Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ: Ρ‚ΠΎ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ это ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ спСцифику ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ прилоТСния. А вСдь ΠΈΠΌΠ΅Π½Π½ΠΎ Π·Π½Π°Π½ΠΈΠ΅ особСнностСй своих Π΄Π°Π½Π½Ρ‹Ρ… позволяСт максимально эффСктивно ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΈ доступом ΠΊ Π½ΠΈΠΌ. Автор ΡΡ‚Π°Ρ‚ΡŒΠΈ ДТастин Π”ΠΆΠ°Ρ„Ρ„Ρ€Π΅ΠΉ ΠΎΠ±Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ программисты ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ вопросом: «Как ΠΌΠ½Π΅ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ?Β» ВмСсто этого ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π΅Π΅ Π·Π°
Билуэт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° β€œΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»ΡΠ΅Ρ‚β€ Π΄Π°Π½Π½Ρ‹Π΅ ΠΊ ΡΠΈΡΡŽΡ‰ΠΈΠΌ Ρ‡ΠΈΠΏΠ°ΠΌ-кэша, ΠΎΡ‚Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ΠΈΡ€Π½ΠΎΠΉ Ρ€Π°ΠΌΠΊΠΎΠΉ ΠΎΡ‚ большого ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ диска Π½ΠΈΠΆΠ΅. Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎΠ΄Ρ‡Ρ‘Ρ€ΠΊΠΈΠ²Π°Π΅Ρ‚ идСю ΡΡ‚Π°Ρ‚ΡŒΠΈ: кэш β€” это явная Π³Ρ€Π°Π½ΠΈΡ†Π° абстракции, Π° Π½Π΅ просто Ρ‚Ρ€ΡŽΠΊ ускорСния.
Билуэт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° β€œΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»ΡΠ΅Ρ‚β€ Π΄Π°Π½Π½Ρ‹Π΅ ΠΊ ΡΠΈΡΡŽΡ‰ΠΈΠΌ Ρ‡ΠΈΠΏΠ°ΠΌ-кэша, ΠΎΡ‚Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ΠΈΡ€Π½ΠΎΠΉ Ρ€Π°ΠΌΠΊΠΎΠΉ ΠΎΡ‚ большого ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ диска Π½ΠΈΠΆΠ΅. Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎΠ΄Ρ‡Ρ‘Ρ€ΠΊΠΈΠ²Π°Π΅Ρ‚ идСю ΡΡ‚Π°Ρ‚ΡŒΠΈ: кэш β€” это явная Π³Ρ€Π°Π½ΠΈΡ†Π° абстракции, Π° Π½Π΅ просто Ρ‚Ρ€ΡŽΠΊ ускорСния.

Когда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡΠ»Ρ‹ΡˆΠ°Ρ‚ слово Β«ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅Β», Ρƒ Π½ΠΈΡ… ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ассоциации с Ρ‡Π΅ΠΌ-Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ для ускорСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния. Π›ΠΎΠ³ΠΈΠΊΠ° проста: Ссли Π΄Π°Π½Π½Ρ‹Π΅ «рядом», Π² быстрой памяти, Ρ‚ΠΎ ΠΈ доступ ΠΊ Π½ΠΈΠΌ происходит быстрСС, ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π»Π΅Ρ‚Π°Π΅Ρ‚. Но Π½Π° самом Π΄Π΅Π»Π΅ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” это Π½Π΅ просто оптимизация скорости, Π° полноцСнная абстракция, Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄Π΅Π»Π°Π΅Ρ‚ систСму понятнСС ΠΈ ΠΏΡ€ΠΎΡ‰Π΅.

πŸ“š ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ всСгда Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ идСально?

Если Π²Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ с классичСскими Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ:

  • πŸ•’ LRU (Least Recently Used) β€” вытСсняСт Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ дольшС всСх Π½Π΅ использовались;
  • πŸ“ˆ LFU (Least Frequently Used) β€” вытСсняСт Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ использовались Ρ€Π΅ΠΆΠ΅ всСго;

Ρ‚ΠΎ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ это ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ спСцифику ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ прилоТСния. А вСдь ΠΈΠΌΠ΅Π½Π½ΠΎ Π·Π½Π°Π½ΠΈΠ΅ особСнностСй своих Π΄Π°Π½Π½Ρ‹Ρ… позволяСт максимально эффСктивно ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΈ доступом ΠΊ Π½ΠΈΠΌ.

Автор ΡΡ‚Π°Ρ‚ΡŒΠΈ ДТастин Π”ΠΆΠ°Ρ„Ρ„Ρ€Π΅ΠΉ ΠΎΠ±Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ программисты ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ вопросом: «Как ΠΌΠ½Π΅ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ?Β» ВмСсто этого ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π΅Π΅ Π·Π°Π΄Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ вопрос: «Как ΠΌΠ½Π΅ Ρ‡Π΅Ρ‚ΠΊΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π·Π° Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…?Β»

🧩 ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Π³Ρ€Π°Π½ΠΈΡ†Π° абстракции

ΠŸΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ опСративная ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ диск Π² вашСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС. Когда Π²Ρ‹ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ с диска, систСма сначала Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΈΡ… Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ (page cache). Π­Ρ‚ΠΎ дСлаСтся Π½Π΅ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΠ°ΠΌΡΡ‚ΡŒ быстрСС (хотя ΠΈ это Π²Π°ΠΆΠ½ΠΎ), Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ такая схСма управлСния Π΄Π°Π½Π½Ρ‹ΠΌΠΈ создаСт Ρ‡Π΅Ρ‚ΠΊΡƒΡŽ Π³Ρ€Π°Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ уровнями хранСния:

  • πŸ’Ύ ДолгосрочноС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ (диск, SSD) β€” ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ΅, Π½ΠΎ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ΅;
  • ⚑ ΠšΡ€Π°Ρ‚ΠΊΠΎΡΡ€ΠΎΡ‡Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ (RAM) β€” быстроС, Π½ΠΎ Π΄ΠΎΡ€ΠΎΠ³ΠΎΠ΅ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅.

ИмСнно Π½Π° стыкС этих ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ архитСктурная концСпция.

πŸ”₯ ΠŸΠΎΡ‡Π΅ΠΌΡƒ стоит явно ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ своим кэшСм?

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ вострСбованы Π² блиТайшСС врСмя, Π° ΠΊΠ°ΠΊΠΈΠ΅ β€” Π½Π΅Ρ‚. ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° слоТныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ систСмС, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Β«ΠΏΠΎΠ΄ Ρ€ΡƒΠΊΠΎΠΉΒ». Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· нСясной Β«ΠΌΠ°Π³ΠΈΠΈΒ» Π²ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ:

  • 🎯 ΠŸΡ€Π΅Π΄ΡΠΊΠ°Π·ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ β€” систСма всСгда Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΅ΠΉ потрСбуСтся Π² блиТайшСС врСмя.
  • 🧹 Чистота Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ β€” ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ становится Π½Π΅ случайной ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, Π° ясной ΠΈ Π»Π΅Π³ΠΊΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ прилоТСния.
  • πŸ“Š ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ β€” ΠΊΠΎΠ³Π΄Π° Π΄Π°Π½Π½Ρ‹Π΅ хранятся явно, Π° Π½Π΅ благодаря Π½Π΅ΠΊΠΈΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ-прСдсказатСлям, ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ошибки.

πŸ’‘ ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ всё ΠΆΠ΅ ΠΆΠΈΠ²ΡƒΡ‡ΠΈ?

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΌΠΈΡ€Π΅ Π½Π΅ всСгда удаётся с высокой Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€Π΅Π΄ΡƒΠ³Π°Π΄Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ понадобятся ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· сСкунду, ΠΌΠΈΠ½ΡƒΡ‚Ρƒ ΠΈΠ»ΠΈ час. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ LRU ΠΈ LFU, полагаясь Π½Π° статистику ΠΈ простыС эвристики.

Однако, нСсмотря Π½Π° удобство этих Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Π°Π²Ρ‚ΠΎΡ€ справСдливо Π·Π°ΠΌΠ΅Ρ‡Π°Π΅Ρ‚: слишком часто Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ Π½ΠΈΠΌ ΠΊΠ°ΠΊ ΠΊ самоцСли, ΠΏΡ‹Ρ‚Π°ΡΡΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅.

🧠 ΠœΠΎΡ‘ Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅

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

Π’ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ, с распространСниСм всё Π±ΠΎΠ»Π΅Π΅ быстрых SSD ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²ΠΈΠ΄ΠΎΠ² памяти, ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ измСнится. ΠœΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ старыС ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΡƒΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ мСсто Π½ΠΎΠ²Ρ‹ΠΌ, Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ ΠΈ управляСмым Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌ. И Ρ‡Π΅ΠΌ Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΌΡ‹ Π½Π°Ρ‡Π½Ρ‘ΠΌ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ кэшС ΠΊΠ°ΠΊ ΠΎΠ± абстракции, Ρ‚Π΅ΠΌ быстрСС ΠΌΡ‹ построим понятныС, Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΈ отказоустойчивыС систСмы.

πŸ“Œ ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎ ΠΎ Π³Π»Π°Π²Π½ΠΎΠΌ:

  • 🧩 ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” Π½Π΅ просто оптимизация, Π° архитСктурная абстракция.
  • 🎯 Π―Π²Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ кэшСм ΠΏΠΎΠ»Π΅Π·Π½Π΅Π΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π²Ρ€ΠΎΠ΄Π΅ LRU ΠΈΠ»ΠΈ LFU.
  • ⚑ Быстрый доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ осознанным ΠΈ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Π½Π½Ρ‹ΠΌ, Π° Π½Π΅ случайным ΠΈ эвристичСским.

πŸ”— ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ссылки: