工具类
一颗向上的草莓
后台开发者,前端爱好者,个人博客:http://catchu.github.io
展开
-
java ReentrantLock 怎么缩写锁的粒度
1、背景目前是有很多个查询条件,比如版本(v3.90.1,v3.90.1,v3.90.2等),系统(安卓,ios),应用id等,希望按某个查询条件来锁定查询资源,可以使用ReentrantLock 来缩小锁的粒度。2、使用2.1 核心代码 private Map<String, LocalCacheEntry> map = new ConcurrentHashMap<>(); /** * 使用java本地锁查询数据 */原创 2021-07-25 16:07:33 · 541 阅读 · 0 评论 -
java使用redis分布式锁
1、背景目前在查询时并发量较高,qps 6000左右,数据查出来后缓存在redis中,有效期5分钟,为防止redis失效的瞬间有太多到达数据库,给数据库造成冲击,在查询时使用redis分布式锁,保证一种查询条件只有一个查询能请求到数据库。2、使用2.1引入jedis <!--jedis--> <dependency> <groupId>redis.clients</groupId> <artifactId>jed原创 2021-07-25 11:18:11 · 747 阅读 · 0 评论 -
springmvc中自定义异常处理器输出异常信息
可以使用springmvc提供的HandlerExceptionResolver,来实现统一的异常处理。package com.catchu.utils;import com.alibaba.fastjson.JSON;import org.apache.shiro.authz.AuthorizationException;import org.slf4j.Logger;import o原创 2017-07-10 14:50:26 · 782 阅读 · 0 评论 -
自定义返回结果类
现在restful风格的接口返回结果一般都是采用json格式,我这里继承HashMap封装一下,返回code和msg原创 2017-07-07 18:18:42 · 1117 阅读 · 0 评论