Привет всем! Опубликовал новую статью на тему Memory Cache. Тема кэширования меня всегда привлекала своей вариативностью и отсутствием универсального решения. В прошлом, я уже реализовывал простые версии LRU cache, в том числе и на собеседованиях. Недавно наткнулся на исследование нового алгоритма кэширования — S3-FIFO. Он ещё не был реализован для JS, и это меня заинтересовало. S3-FIFO отличается простотой, но при этом по обещаниям обеспечивает отличную производительность и высокий hit rate.
В статье найдете:
- Зачем нужен Кэш и почему важен hit rate?
- Разновидности алгоритмов кэширования: 2Q, LRU cache, S3-FIFO.
- Возможные угрозы: как атака на кэш может нарушить работу приложения.
- Детальное рассмотрение и реализация S3-FIFO.
- Результаты тестирования в плане производительности и cache hit.
- Бонус: профилирование кода в V8 и поиск мест деоптимизации.
Статья доступна на английском: https://amarchenko.dev/blog/2023-10-12-memory-cache/
А так-же ссылка на самому библиотеку: https://github.com/Tom910/effective-cache
Post #11
2.28K