Слияние кода завершено, страница обновится автоматически
- 注解demo:
@Cached(name = "课程列表v3",
key = "T(com.lianqu1990.tiku.course.util.CourseCacheKey).courseListV3(T(com.lianqu1990.common.utils.web.RequestUtil).getParamSign(#map))",
params = {@Cached.Param(name="查询参数",value = "map",type = Map.class)})
@Async
public ListenableFuture<CourseListV3DTO> getCourseListV3(Map<String,Object> params){
params.remove("username");
String cacheKey = CourseCacheKey.courseListV3(buildMapKey(params));
CourseListV3DTO result = (CourseListV3DTO) valueOperations.get(cacheKey);
if(result == null){
NetSchoolResponse response = courseServiceV3.findLiveList(params);
result = ResponseUtil.build(response,CourseListV3DTO.class,false);
if(result != null){
result.set_timestamp(System.currentTimeMillis());
valueOperations.set(cacheKey,result,10, TimeUnit.SECONDS);
}
//非fallback获取到,设置到fallback缓存
if(!result.is_cache()){
courseServiceV3Fallback.setLiveList(params,response);
}
}else{
result.set_cache(true);
}
return new AsyncResult<>(result);
}
启动中会通过beanprocessor扫描到所有注解的bean,集中管理,并将他们在springboot监控端点“cache-manage”暴露出来
通过post访问,路由参数名为"_action"
一共支持四种方法:
- query,获取进程内所有业务缓存
- get,针对集中式缓存使用,响应的消息体为执行后获得的"key",需自行连接到对应服务器删除或者获取
- getInside,针对进程内缓存使用
- delInside,针对进程内缓存使用
{
"map":
{
"categoryid":1000,
"priceid":2
}
}
//兼容
{
"map":"categoryid=1000&priceid=2"
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )