- 博客(6)
- 收藏
- 关注
原创 java学习之@Cacheable注解
在我们日常工作中,相信大部分人应该都用过redis做缓存,今天发现项目中用了一个注解来自动完成接口结果的缓存--@Cacheable注解(@Cacheable注解是springframework下的注解)
2024-06-05 15:51:28
3156
原创 java学习之使用redis简单实现限流功能
事先声明基于redis实现滑动时间窗实现限流这种方式我们工作中一般不会使用,因为目前市面上对于大体量的服务使用的都是springCloud netFlix或者spring CloundAlibaba(主流)他们都有各自的限流组件( Netflix Hystrix , sentinel), 小体量服务又基本用不到限流,这里可以当成是时间窗口算法的一种学习。滑动时间窗口限流是一种基于时间的流量控制策略,本质就是规定一个时间大小的窗口,值统计在这个窗口内的请求,然后滑动这个窗口;1.定义窗口的大小,如30秒。
2024-05-31 11:11:44
580
原创 java学习之使用自定义注解实现日志记录功能
在我们日常开发中会一定会有记录日志这个操作,大部分情况都是采取使用自定义注解去添加日志写法。这里同样如此,并做到可以识别el表达式的功能,使用返回值的参数。
2024-05-30 22:21:08
262
2
原创 java学习之使用redission实现自动关单功能
Redisson中定义了分布式延迟队列RDelayQueue,这是一种zset结构实现的延时队列,其实就是在zset的基础上增加了一个基于内存的延迟队列,当我们添加一个数据到延时队列的时候,redisson会把数据+超时时间放到zset中,并起一个延时任务,当延时任务到期的时候,再去zset中把数据去出来,返回给客户端使用。6、RocketMQ延迟消息(MQ方案不推荐,大量无效调度)7、RabbitMQ死信队列(MQ方案不推荐,大量无效调度)8、RabbitMQ插件(MQ方案不推荐,大量无效调度)
2024-05-30 22:20:06
690
原创 java学习之CompletableFuture
日常开发中我们会遇到许多需要异步处理的场景(如:文件的读写,异步发送消息,记录日志,后台任务等),这个时候我们一般使用线程池开启线程及执行任务,但其中我们需要得到返回值或者需要保证执行顺序,这种情况我们就可以使用CompletableFuture
2024-05-30 22:18:25
1263
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人