LRU на PHP — задача, которую, вроде бы, уже все кому не лень решили вдоль и поперёк. Канонический рецепт: HashMap + doubly linked list, — работает, читается, всем нравится. Но когда начинаешь мерить, оказывается, что большинство реализаций выдают 2–5 млн. ops/sec. Для веба это нормально, а вот для highload — уже нет. Особенно когда LRU — это не «где-то в кэше Redis», а фундамент Identity Map, который сидит прямо в hot path каждого запроса. Читать далее
Omap — это пакет Golang для работы с потокобезопасными упорядоченными map. Упорядоченная map содержит map golang, list и mutex для выполнения функций упорядоченной map.Упорядоченная map— это map, которая запоминает порядок элементов. Map можно итерировать для извлечения элементов в том порядке, в котором они были добавлены. Читать далее
LRU-кэш это популярная структура данных, хранящая пары ключ-значение, но в отличие от обычной "мэпы" ограниченная по размеру - более старые (least-recently-used) записи пропадают при переполнении. Он популярен и на собеседованиях (видимо как альтернатива заезженным алгоритмам сортировок).…
In memcached before 1.5.14, a NULL pointer dereference was found in the "lru mode" and "lru temp_ttl" commands. This causes a denial of service when parsing crafted lru command messages in process_lru_command in memcached.c.