价格缓存清理

This commit is contained in:
2025-08-03 09:37:42 +08:00
parent 5a85d2418d
commit 76b48e3071

View File

@@ -8,6 +8,7 @@ import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Set;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@Component @Component
@@ -48,14 +49,15 @@ public class PriceRepository {
if (redisTemplate.hasKey(String.format(PRICE_ID_CACHE, id))) { if (redisTemplate.hasKey(String.format(PRICE_ID_CACHE, id))) {
PriceConfigEntity priceConfig = getPriceConfig(id); PriceConfigEntity priceConfig = getPriceConfig(id);
if (priceConfig != null) { if (priceConfig != null) {
clearPriceCache(priceConfig.getScenicId(), priceConfig.getType(), priceConfig.getGoodsIds()); clearPriceScenicCache(priceConfig.getScenicId());
} }
} }
redisTemplate.delete(String.format(PRICE_ID_CACHE, id)); redisTemplate.delete(String.format(PRICE_ID_CACHE, id));
} }
public void clearPriceCache(Long scenicId, Integer type, String goodsId) { public void clearPriceScenicCache(Long scenicId) {
String cacheKey = String.format(PRICE_SCENIC_TYPE_GOODS_CACHE, scenicId, type, goodsId); String cacheKey = String.format("price:s%s:*", scenicId);
redisTemplate.delete(cacheKey); Set<String> keys = redisTemplate.keys(cacheKey);
redisTemplate.delete(keys);
} }
} }