Программа использует много идей, стоящих за другим известным прокси, его предшественником apt-cacher 1.x (который был написан на Perl). В отличие от apt-cacher, при разработке apt-cacher-ng в качестве основных целей были объявлены различные аспекты:
- легкая реализация - позволяет использовать в системах с низким объемом памяти и ресурсов обработки
- внутренняя (нативная) многопоточность - по возможности избегая разветвления процессов, избегая клуджей для синхронизации псевдопотоков, по возможности избегая использования специальных функций файловой системы для внутренних операций
- реальная (эффективная) поддержка конвейерной передачи HTTP с использованием внутреннего клиента с собственным управлением потоком (что имеет приятный побочный эффект: сокращение затрат ресурсов и минимизация возможных точек отказа)
- избегать фуритритов, когда они вызывают слишком много вздутия, а функциональность может быть обеспечена встроенными функциями ОС
- надежное, но эффективное слияние контента в локальном пуле пакетов, позволяющее избежать доставки неверных данных.
Как и в случае с apt-cacher, установлено явное отслеживание динамически измененных и неизмененных файлов и поддерживается использование в среде, отличной от Debian.
Длинная история: не все цели были достигнуты. Первоначальный план использования фоновых баз данных для объединения любой загрузки из любого произвольного местоположения был исключен из-за сложности и соображений производительности, надежная эвристика также не может быть найдена. Вместо этого было создано полуавтоматическое решение, в котором использовались машинно-разборные файлы с зеркальной информацией, например, доступные для зеркал Debian в репозитории Debian CVS.