- 博客(11)
- 收藏
- 关注
原创 redis缓存击穿,缓存雪崩,缓存穿透
某个热点key在缓存和数据库都存在,过期时,大量用户访问这个key,读缓存读取不到就会同时去数据库读,压垮数据库.怎么解决:将热点数据设置不过期,但是需要自己判断哪些数据是热点数据加锁,多个访问时,只有一个客户端能获得锁,其他会被阻塞,等锁释放了,缓存中已有数据,其他客户端就不用访问数据库,但是这个方法会影响吞吐量(有损方案)
2023-04-20 20:57:20
97
原创 自定义注解上的注解@Target,@Retention,@Documented
在Java中,自定义注解可以使用@Target元注解来指定注解可以应用的元素类型。@Target注解具有ElementType类型的value属性,可以设置一个数组,用于指定注解可以应用到的元素类型。以下是一些可能的ElementType类型:- ElementType.TYPE:类、接口或枚举类型- ElementType.FIELD:字段- ElementType.METHOD:方法- ElementType.PARAMETER:方法参数。
2023-04-05 16:17:56
416
原创 java将文件以流的形式上传到minio中
minioClient.putObject(PutObjectArgs.builder().bucket("桶的名字").object(format).stream(inputStream, file.getSize(), -1).contentType(file.getContentType()).build());
2023-04-03 22:16:05
3823
原创 redis的数据类型
数据类型描述的是value的类型,key都是string,长江的数据类型(value)有:list(链表,quicklist(多个ziplist双向链表))hash表(ziplist,hashtable)set(无序的集合,intset,hashtable)sorted(在set的基础上加入了有序的功能)bitmap(主要做一些统计)hyperloglog(主要做一些统计)每一种类型都用redisObject结构体来表示,情况不同,编码(底层数据结构)就不同。
2023-04-02 19:22:12
105
原创 Spring Security-JWT验证
我们需要自定义一个过滤器,这个过滤器会去获取请求头中的token,对token进行解析取出其中的uuid。使用userid去redis中获取对应的User对象。然后封装Authentication对象存入SecurityContextHolder
2023-03-29 19:59:48
234
原创 Java项目登录常见的验证方式
session特点: //session存储在服务器,使http请求有状态1. session的底层实现:cookie 强依赖cookie2. session默认不支持集群/分布式/微服务架构 实现session共享,比较麻烦3.移动端不支持sessionJWT特点: JWT使服务器无状态,存储在客户端 JWT支持集群/分布式/微服务架构 JWT的载荷可以存储一些额外的用户信息 JWT可以自认证,不需要重新数据库,重新用户信息减少持久层的操作
2023-03-29 18:04:54
299
原创 Spring Security -1登录流程
Spring Security 是 Spring 家族中的一个安全管理框架。相比与另外一个安全框架Shiro,它提供了更丰富的功能,社区资源也比Shiro丰富。
2023-03-29 17:53:23
133
原创 汇客CRM系统公海池捞取数据异常
解决方法:将方法上面的权限注解修改即可,权限字段写错了,数据库中的商机捞取权限字段不是代码里写的那个,代码写错了
2023-03-28 21:49:09
430
原创 空间换时间思想
在项目启动时,将需要使用的对象,进行提前实例化,预加载存入内存中,以备之后使用时可以节省时间,这就是空间换时间,但是此方法会占用内存,如果数据量过大,不建议使用此方法,会导致内存大量被占用而运行缓慢。
2023-03-28 21:18:21
136
原创 策略设计模式
该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户(算法的具体实现不同?策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。这就代表我使用的是rule策略类,如果我想要更换admin策略类,只需要将yml中的属性rule改为admin即可。设计了一个策略接口,设计了多个实现了该策略接口的策略类,在每个策略类中都添加注解。通过更改yml配置文件中的属性,即可更换使用的策略类.
2023-03-28 21:05:42
96
原创 CRM系统线索转商机分配归属人失败解决方法
将策略类中的静态代码块改为注解@PostConstruct的方法,将自动装配的static静态删掉,修改字段为DictValue
2023-03-28 20:46:52
224
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人