2017-01-27 11 views
0

Неправильно ли писать в guava LoadCache? Если это так, пожалуйста, объясните мне, почему это было бы плохой практикой?Неправильно ли вы писать в Guava LoadCache?

+0

Это не так, например. по обновлению. Однако выполнение get-compute-put является плохой практикой, поскольку несколько потоков могут участвовать в гонке. Загрузка через кеш - лучшая практика. –

+0

спасибо, что я бы загрузил 70% за 30%, которые мне пришлось бы хранить в кеше. – user1041035

ответ

0

Это просто сочетание двух подходов.

Либо кеш используется как компонент, хранящий данные приложения, и приложение отвечает за управление как чтением, так и записью, тогда имеет смысл использовать для него класс Cache.

Или кеш используется как интерфейс к неизвестному хранилищу данных, и приложение должно полностью не знать, как загружаются данные, тогда имеет смысл использовать LoadCache. Реализация обычно предоставляется снаружи путем инъекции зависимостей.

Могут быть случаи, когда приложение хочет переопределить данные как в внешнем источнике, так и вносить изменения в кеш, но это очень странная ситуация и, вероятно, не будет отвечать требованиям, поскольку кэш будет иметь задержку в другом приложении в любом случае.

+0

спасибо, у меня есть база данных. – user1041035