使用mybatis拦截器Interceptor实现运行时sql打印及数据库CRUD后的缓存清理
定义数据库CRUD后的处理接口 有时候我们在数据库的CRUD操作后,需要做一些缓存的清理或缓存的重置;比如select操作后添加到缓存,update、insert、delete操作后需要清理缓存。我们定义一个接口AfterCrud用于实现C...
定义数据库CRUD后的处理接口 有时候我们在数据库的CRUD操作后,需要做一些缓存的清理或缓存的重置;比如select操作后添加到缓存,update、insert、delete操作后需要清理缓存。我们定义一个接口AfterCrud用于实现C...
缓存穿透及解决方法 访问一个不存在的key,缓存不起作用,请求会穿透到DB,流量大时DB会挂掉。 解决方案通常有两种: 采用布隆过滤器,使用一个足够大的bitmap,用于存储可能访问的key,不存在的key直接被过滤; 访问key未在DB查...
有时候我们使用枚举定义了很多常量,但又不想一个一个的去取这些常量,就可以使用反射的方式来遍历枚举常量。比如我们使用枚举来定义一个缓存的配置信息,这些配置信息会在缓存管理器初始化时使用到。 枚举类如下: public enum CacheEn...
springboot返回json格式而非Whitelabel Error Page页面 我们使用springboot做API网关,提供rest接口的时候,如果请求的接口没有实现,springboot默认情况下返回如下的页面: Whitela...