摘要:
耗时操作异步,可以考虑使用Future或Java8后出现的CompletableFuture 内存缓存,分布式用Redis,单机用Guava,注意缓存问题(击穿,穿透和雪崩),Redis的三种缓存策略 锁粒度控制 数据库批量修改 使用队列+异步处理应对流量突增 通过限流等方案保证服务稳定性 阅读全文
摘要:
Java 8引入的CompletableFuture,对Future做了改进: 1.可以传入回调对象,不再像Future那样循环查询执行结果。 2.另外可以将多个Future结合到一起并行或串行执行,主要方法如下: 1> thenAccept()处理正常结果; 2> exceptional()处理异 阅读全文
摘要:
后端API需要接受fe传过来的参数,就必然涉及到参数校验。 Spring提供了使用注解进行非法判断的引用(需要主动引入),继承自 spring-boot-starter-parent <dependency> <groupId>org.hibernate.validator</groupId> <a 阅读全文
摘要:
什么情况下需要分表呢?分表又能解决什么问题呢? 一般情况下分表的直接原因是数据量太大了,比如一张表一共只有1w条数据,确实没必要分表。为什么数据量大了就需要分表呢?首先得看看数量量过大后会带来什么问题。 以InnoDB为例: 使用的是B+树,聚簇索引。如果数据量过大,可能会导致多一次甚至多次磁盘IO 阅读全文