本地緩存
- 繼承AbstractBaseLocalCache,并實現相應的抽象方法;
- 適用于單實例項目或不會經常變化的數據;
- 代碼示例:
/*** 倉庫信息緩存類*/
@Service
public class WarehouseCache extends AbstractBaseLocalCache<Long, Warehouse> {/*** 倉庫信息服務*/@Autowiredprivate WarehouseFacade warehouseFacade;@Overrideprotected Integer getExpiredMinutes() {return 15;}@Overrideprotected Warehouse query(Long warehouseId) throws PendingException {return warehouseFacade.mustGet(WarehouseQuery.builder().id(warehouseId).build());}
}
Redis緩存
- 繼承AbstractBaseRedisCache,并實現相應的抽象方法;
- 適用于多實例項目
- 代碼示例:
/*** 商品信息緩存*/
@Service
public class GoodsCache extends AbstractBaseRedisCache<Long, Goods> {/*** 商品服務*/@Autowiredprivate GoodsFacade goodsFacade;@Overrideprotected Integer getExpiredMinutes() {return 15;}@Overrideprotected Goods query(Long id) throws PendingException {return goodsFacade.mustGet(GoodsQuery.builder().id(id).build());}@Overrideprotected int getVersion() {return 0;}
}