В настоящее время я использую memcached с моим java-приложением, и в целом он отлично работает.
Для меня наиболее важными особенностями memcached являются:
- быстро, так как чтения и записи хранятся в памяти и не касаются диска
- это просто хранилище ключей/значений (поскольку для этого требуется все мое приложение)
- он распространяется
- он эффективно использует память, поскольку каждый объект живет на одном сервере
- он не предполагает, что объекты взяты из базы данных (поскольку мои объекты не являются объектами базы данных)
Однако есть одна вещь, которую я хотел бы сделать, что memcached не может сделать. Я хочу периодически (возможно, один раз в день) сохранять содержимое кэша на диск. И я хочу восстановить кеш из сохраненного образа диска.
Сохранение диска не должно быть очень сложным. Если новый ключ/значение добавляется во время сохранения, мне все равно, включен ли он в сохранение или нет. И если существующий ключ/значение изменяется во время сохранения, сохраненное значение должно быть либо старым значением, либо новым значением, но мне все равно, какой из них.
Может ли кто-нибудь порекомендовать другое решение для кеширования (бесплатное или коммерческое), имеющее все (или значительный процент) важных для меня функций memcached, а также позволяет сохранять и восстанавливать весь кеш с диска?