加载中
what???领导让我实现一个redis Zset多维度排行榜

一:背景 实现一个多维度的排行榜(已自然周为一个周期),考虑得分和时间维度。当得分一样时,获得此排名越早的排名越靠前 需要监听原始数据,这里分为三个动作:收到、已读、通过。根据三个...

不会状态机?不知道状态模式?不会利用它来减少if else并解耦?来看看这篇文章!!!

引言 状态模式大家可能初听会很陌生,这种模式有什么用?我就是个CRUD BOY,面对不同的状态,我一个状态一个状态的判断,if else、if else...... 不断的来写不同的逻辑它不香吗? 香! 但是作...

线程池参数原理及应用

线程池原理 Java创建一个线程很方便,只需new Thread()就可以, 但是当有多个任务需要进行进行处理时,频繁的进行创建和启用线程同样需要系统开销,也不利于管理,于是同mysql的连接池一样,...

缓存穿透问题分析压测

缓存穿透 缓存穿透,是指查询一个数据库一定不存在的数据。正常的使用缓存流程大致是,数据查询先进行缓存查询,如果key不存在或者key已经过期,再对数据库进行查询,并把查询到的对象,放进...

2019/03/09 20:22
3.8K
Java8并行http请求加快访问速度

背景 1.通常我们在获取到一个list列表后需要一个挨着一个的进行遍历处理数据,如果每次处理都需要长时间操作,那整个流程下来时间就是每一次处理时间的总和。 2.Java8的stream接口极大地减少...

2018/11/18 16:28
6.5W
spring_cloud config 配置中心及利用Github实现自动化热加载配置

spring_cloud有着强大的生态支持,其自带的分布式配置中心可以有效解决分布式环境中配置不统一的问题,提供一个中心化的配置中心。并且依靠其spring_bus(rabbitMq提供订阅)和github或者git...

rabbitMQ实现可靠消息投递

RabbitMQ消息的可靠性主要包括两方面,一方面是通过实现消费的重试机制(通过@Retryable来实现重试,可以设置重试次数和重试频率,但是要保证幂等性),另一方面就是实现消息生产者的可靠投递...

2018/09/24 19:14
5.6K
redis实现简单延时队列

继之前用rabbitMQ实现延时队列,Redis由于其自身的Zset数据结构,也同样可以实现延时的操作 Zset本质就是Set结构上加了个排序的功能,除了添加数据value之外,还提供另一属性score,这一属性...

2018/08/19 18:25
20.7W
rabbitMq实现延时队列

rabbitMq是受欢迎的消息中间件之一,相比其他的消息中间件,具有高并发的特性(天生具备高并发高可用的erlang语言编写),除此之外,还可以持久化,保证消息不易丢失,高可用,实现集群部署,...

2018/08/12 19:45
2.8W
高并发下高效获取时间戳

背景 Java获取当前时间戳一般是通过System.currentTimeMillis()来获取。这是一个native方法,用于获取当前时间与1970年1月1日0点之间的差,虽然返回值的时间单位是毫秒,但该值的粒度取决于基...

2021/04/09 15:50
691
Undertow容器在Springboot中如何自定义修改文件名

背景 Springboot集成了众多容器(Tomcat、Jetty、Undertow) Undertow是一款并发性能极高的容器,由于默认的容器是Tomcat,我们通常会把tomcat的jar包干掉并引入Undertow的jar包,由此开启U...

2021/02/18 22:18
576
Mockito模拟进行单元测试

1.1 Mockito是什么? MOCK意思是模拟的意思,主要被用来进行数据的人工组织,不会真正地调用第三方服务器,类似redis,mysql等都不会调用,也不用关心数据底层是如何进行处理的,我们要做的只...

2019/07/13 18:26
4.1K
消息中间件的四连炮!

概述 大家平时也有用到一些消息中间件(MQ),但是对其理解可能仅停留在会使用API能实现生产消息、消费消息就完事了。 对MQ更加深入的问题,可能很多人没怎么思考过。 消息中间件,那么很可能给...

2019/07/05 19:05
378
Kafka如何通过精妙的架构设计优化JVM GC问题

目录 1、Kafka的客户端缓冲机制 2、内存缓冲造成的频繁GC问题 3、Kafka设计者实现的缓冲池机制 4、总结一下 “ 这篇文章,同样给大家聊一个硬核的技术知识,我们通过Kafka内核源码中的一些设...

2019/05/18 17:08
867

没有更多内容

加载失败,请刷新页面

返回顶部
顶部