третья возможность: memcachedb . он совместим с memcached , но сохраняет хранилище ключей в файле BDB. он имеет не только команды чтения-записи, но также атомарный приращение / уменьшение числовых значений.
еще одна альтернатива - написать «встречный сервер». независимый процесс, который получает команды «чтения» и «приращения» через сокет. Преимущество состоит в том, что действительно легко делать «атомарные» приращения. он хранит свои счетчики в простом файле без проблем с параллелизмом, поскольку никогда не бывает более одного сервера.
должно быть легко написать менее чем сто строк C. Просто цикл, обрабатывающий одну команду за раз, сбрасывая на диск каждые несколько секунд Поскольку обработка настолько проста, задержка минимальна.