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