Я работаю над клиентским классом, который должен загружать данные из сетевой базы данных. Предполагается, что добавление стандартной службы кэширования к клиенту может улучшить его производительность.
Мне бы очень хотелось, чтобы мне не пришлось создавать свой собственный класс кеширования - хорошо известно, что они дают общие точки отказа. Было бы намного лучше использовать класс, который разработал кто-то другой, чем тратить огромное количество моего собственного времени на отладку самодельной системы кэширования.
Разработчики Java имеют это:
http://ehcache.sourceforge.net/
Это высокопроизводительный класс кэширования общего назначения, который может поддерживать все виды хранилищ. У него есть опции для истечения времени и другие методы для сбора мусора. Это выглядит действительно хорошо. К сожалению, я не могу найти ничего хорошего для Python.
Итак, кто-нибудь может предложить класс кеша, который я готов использовать. Мой список пожеланий:
- Возможность ограничения количества объектов в кеше.
- Возможность ограничения максимального возраста объектов в кеше.
- Срок действия объекта LRU
- Возможность выбора нескольких форм хранения (например, память, диск)
- Хорошо отлажено, в хорошем состоянии, используется по крайней мере одним известным приложением.
- Хорошая производительность.
Итак, есть предложения?
ОБНОВЛЕНИЕ: я ищу МЕСТНОЕ кэширование объектов. Сервер, к которому я подключаюсь, уже сильно кэширован. Memcached не подходит, потому что он требует дополнительного сетевого трафика между клиентом Windows и сервером.