我使用@Cacheable
註釋緩存我的方法的結果緩存空值。出於性能原因,我想緩存null
和從方法返回的非空值。春季啓動可緩存 -
但這裏的問題是春天緩存非空值,但由於某些原因不緩存爲空。
這裏是我的代碼:
@Cacheable(
cacheManager = "promoCacheManager",
value = "promos:campaign",
key = "'promos:campaign:'.concat(#currencyId)"
)
public PromosDto getPromosByCurrency(Integer currencyId) {
...
我已經嘗試每一件事情。即使我設置
unless = "#result != null || #result == null"
但是這並沒有很好的幫助。 任何指針?
不是爲我工作。還是一樣。只有在可選內部的對象不爲空時它纔會緩存。 – Tariq
您的緩存提供程序是否支持緩存空值? – Richard
是的,我正在使用Redis緩存。所以它確實支持空值 – Tariq