SpringBoot@Cacheableによるredisキャッシュメカニズム
SpringBoot注釈によるredisキャッシュメカニズムの実装@Cacheableクエリ @CachePut修正 @CacheEveict削除
実装効果:1回目のredisクエリーでデータベースクエリーが見つからない場合はログに印刷されます==データベースにアクセスします==2回目のアクセスでkey(2回とも同じ部門idの場合)を通じてredisに直接行ってバックグラウンドを印刷してもログを印刷しません
CacheEveict削除同理以降更新期限の設定があります
を以下に示す.@Cacheable
// An highlighted block
//key: dto id
@Cacheable(value = "getSchoolById", key = " #userDto.getDepartmentId() +'getFunctionTreeValue' ")
public String redis(UserDto userDto) {
Department byId = departmentMapper.getById(userDto.getDepartmentId());
log.info(" ");
return ResultInfo.success(byId.getDepartmentName());
}
実装効果:1回目のredisクエリーでデータベースクエリーが見つからない場合はログに印刷されます==データベースにアクセスします==2回目のアクセスでkey(2回とも同じ部門idの場合)を通じてredisに直接行ってバックグラウンドを印刷してもログを印刷しません
@CachePut
// key
@Cacheable(value = "getSchoolById", key = " #userDto.getDepartmentId() +'getFunctionTreeValue' ")
public ResultInfo updateRedis(UserDto userDto) {
Department department = new Department();
department.setId(aiUserImportPhotoDto.getDepartmentId());
department.setDepartmentName(aiUserImportPhotoDto.getStr());
departmentMapper.updateByIdNoNull(department);
log.info(" ");
return ResultInfo.success(department.getDepartmentName());
}
: redis
CacheEveict削除同理以降更新期限の設定があります