Простой C / C ++ внутрипроцессный кеш, похожий на memcached - PullRequest
0 голосов
/ 12 октября 2011

Мне нужен простой (LRU) кеш, который должен работать в процессе. Я нашел memcached, который выглядит великолепно, но, похоже, нет простого способа разместить его в процессе. Мне не нужен распределенный кеш, просто хранилище ключей / значений и какое-то поведение LRU и какой-то хороший распределитель для ограничения фрагментации, поскольку размер записи сильно варьируется (несколько байтов - несколько килобайт) существующая реализация такой вещи? Должно быть C или C ++.

Ответы [ 2 ]

3 голосов
/ 12 октября 2011

Я не хочу отвечать таким образом, но это было бы довольно просто реализовать самостоятельно.

  1. Распределитель.Используйте malloc и free.Они работают и работают хорошо.Это также облегчает взаимодействие с остальной частью вашей программы.

  2. Mutex -> хеш-таблица, дерево или дерево.Вы можете использовать связанный список для отслеживания LRU.Не пытайтесь делать причудливые вещи без замков.

Должен весить менее пары сотен строк, нокаутируйте его в хороший день.

0 голосов
/ 18 января 2013

Я успешно использовал commoncache , но в проекте, похоже, нет активности, и проблемы, поднятые (с исправлениями) моим коллегой, до сих пор не решены ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...