![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
note
qq_33935672
这个作者很懒,什么都没留下…
展开
-
JSR303
JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation,Hibernate Validator 是 Bean Validation 的参考实现。1、给需要验证的Bean加上校验注解。(package javax.validation.constraints)2、在Controller的参数位置标上校验注解:@Valid检验默认不启用,只有加了校验注解才有效,校验错误后会有默认的响应。校验Bean紧跟一个BindingResult就可以获得错误。.原创 2021-05-10 22:24:04 · 62 阅读 · 0 评论 -
MD5盐值加密
MD5 信息摘要算法:String password = DigesUtils.md5Hex("password");1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。2、容易计算:从原数据计算出MD5值很容易3、抗修改性:对原数据进行任何改动,所得到的MD5值都有很大的区别4、强抗碰撞:想找到两个不同的数据,很难有相同的MD5值6、不可逆加盐:String password = Md5Crypt.md5Crypt("password","salt");1、通...原创 2021-05-07 23:16:22 · 178 阅读 · 0 评论 -
Redisson分布式锁
Redisson配置:@Configurationpublic class MyRedissonConfig { @Bean(destroyMethod="shutdown") public RedissonClient redisson() throws IOException{ Config config = new Config(); config.useClusterrServers() .addNodeAddr原创 2021-03-02 16:34:13 · 156 阅读 · 0 评论 -
高并发下缓存失效问题
1.缓存穿透:查询一个一定不存在的数据,由于缓存一定不命中,将查询数据库,并且没有将null写入缓存,这将导致这个不存在的数据每次请求都到存储层查询。风险:利用不存在的数据进行攻击,数据库瞬时压力增大,最终导致崩溃。解决方案:null结果缓存,并加入短暂过期时间。2.缓存雪崩:指设置缓存时key采用了相同的过期时间,导致缓存在某一时刻同时失效,请求全部转发到存储层,导致数据库瞬时压力过重雪崩。解决方案:原有的失效时间基础上增加一个随机值,这样每一个缓存的过期时间的重复率就会减低。3.缓存原创 2021-03-02 14:07:13 · 131 阅读 · 0 评论