- 博客(6)
- 收藏
- 关注
原创 SpringBoot-解决redis缓存穿透、雪崩、击穿的方法
文章目录缓存穿透解决方案一:缓存空值方案二:布隆过滤器布隆过滤器基本定义及原理引入依赖BloomFilterHelper添加判断值工具类项目启动类部分实现代码缓存雪崩解决方案缓存击穿解决方案一:不设置失效时间解决方案二:加锁缓存穿透 缓存穿透是指用户查询数据时,数据库和缓存中都没有数据。导致了查询请求直接绕过缓存,直接穿透到数据库。解决方案一:缓存空值即如果查询id为null,则将null直接放入缓存 /** * 解决缓存穿透 * @return */
2021-09-16 15:19:11
1527
原创 Springboot整合Shiro-多权限调用接口问题
问题 在开发中,我们希望不同的角色权限可以调用同一个API接口,例如/user/**相关API既可以由拥有admin权限的角色调用,也可以由拥有student权限的角色调用,这时我们可能会有2种方案方案一filterMap.put("/user/**","roles[admin]");filterMap.put("/user/**","roles[student]");方案二filterMap.put("/user/**","roles[admin,student]"); 但实际上,以
2021-09-10 19:58:26
674
原创 Springboot整合Shiro-实现MD5盐值加密
mysql创建用户表DROP TABLE IF EXISTS `t_user`;CREATE TABLE `t_user` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `user_id` varchar(255) NOT NULL COMMENT '用户名', `name` varchar(255) NOT NULL, `password` varchar(255) NOT NULL COMMENT '密码', `state`
2021-09-10 19:11:52
568
原创 MySQL查询
MySQL查询学习网址:https://www.bilibili.com/video/BV1fx411X7BD文章目录MySQL查询0.0 emp表和dept表的创建1.0 条件查询条件查询between...and...is null 和 is not nulland 和 or 的优先级in 和 not in模糊查询 like排序分组函数count(*)与count(某个字段)区别单行处理函数ifnull()空处理函数?group by和having多个字段联合起来一块分组having与where的使
2021-04-20 14:20:54
171
原创 MD5码加密(盐值加密)
MD5码加密(盐值加密) 主要应用于用户密码在数据库的存储,当我们需要保存用户账号密码信息用于身份验证时,如果密码直接以明码的形式保存在数据库,很容易在数据库信息泄露时造成安全隐患。 所以需要一种加密算法且算法不可逆来保证密码存储的安全性。MD5信息摘要算法,一种被广泛使用的密码散列函数,可以产生出一个128位的散列值,用于确保信息传输完整一致。盐值,一串随机字符串。MD5盐值加密,作用就是为了防止MD5被暴力破解。通过盐值和密码进行组合计算得出MD5,在数据库中要同时存储该MD5码及盐值。在
2021-04-19 20:02:58
7292
原创 慕课Java第三季学习及笔记整理
学习网址:https://www.imooc.com/learn/110一、异常与异常处理1-1 java异常简介概念异常:有异于常态,和正常情况不一样,有错误出现;阻止当前方法或作用域。异常处理:将出现的异常提示给编程人员与用户,使原本将要中断的程序继续运行或者退出。并且能够保存数据和释放资源异常体系结构1、所有异常都继承于Throwable类,其下有两大子类:(1)Error类:错误,一般编程人员不太接触,如虚拟机错误、线程死锁。硬伤:使程序崩溃(2)Exception类:异常,编码、
2021-03-08 15:27:43
520
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人