Блокировка поддержки кеша

Абстракция Spring Cache не поддерживает блокирующий кеш, то есть кеш, который, когда вы выполняете операцию чтения для одного и того же ключа в одно и то же время в нескольких потоках, кешируемый метод будет вызываться только один раз. Кэш Guava поддерживает эту функцию прямо из коробки с помощью LoadingCache. Планирует ли Spring ввести отдельный уровень абстракции кэша блокировки, который будет работать с кешем гуавы? В некоторых случаях важно, чтобы кешируемый метод вызывался только один раз для ключа, поэтому я думаю, что было бы неплохо иметь эту функцию.


person mike27    schedule 04.09.2015    source источник
comment
Stackoverflow не является сайтом поддержки Spring. Выполнение запроса функции для стороннего программного обеспечения здесь не принадлежит   -  person J-16 SDiZ    schedule 04.09.2015
comment
возможный дубликат одновременных вызовов кешированного метода   -  person Stephane Nicoll    schedule 14.09.2015


Ответы (1)


Отметьте SPR-9254.

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

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

(Кстати, не нужно создавать несколько потоков SO для одного и того же вопроса).

person Stephane Nicoll    schedule 14.09.2015