18cmicbiz王者耀网站(18c.micbiz王者荣耀网站是多少)
时间:2022-03-27 04:00:41
小编:程序员进阶之路
阅读:
分享
今天同事跑过来跟我说,他有了一个牛逼plus的设计,他说他设计一个很牛逼的程序。
我问他:什么?
他:我设计了一个redis切面。
我:有啥用。
他:每次要用到redis时,只要注解引用一下就好了,省了很多代码,非常方便
我;那我看看。
那么他如何写的一个redis缓存切,下面我们来看看
第一步自定义注解
@Target({ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)public @interface IcCacheable { String key(); //支持spel}
第二步 定义切面
@Component@Aspectpublic class IcCacheableAspect { @Autowired private CacheUtils cacheUtils; //支持spel语法 ExpressionParser parser = new SpelExpressionParser(); LocalVariableTableParameterNameDiscoverer discoverer = new LocalVariableTableParameterNameDiscoverer(); @Around(value = "@annotation(icCacheable)") public Object invoked(ProceedingJoinPoint pjp, IcCacheable icCacheable) throws Throwable { Object[] args = pjp.getArgs(); Method method = ((MethodSignature) pjp.getSignature()).getMethod(); String spel = icCacheable.key(); String[] params = discoverer.getParameterNames(method); EvaluationContext context = new StandardEvaluationContext(); for (int len = 0; len < params.length; len++) { context.setVariable(params[len], args[len]); } //得到表达式结果 Expression expression = parser.parseExpression(spel); String cacheKey = expression.getValue(context, String.class); //执行之前先看缓存有没有,没有在执行 Object cachers = cacheUtils.get(cacheKey); if (cachers != null) { return cachers; } else { Object proceedObject = pjp.proceed(); cacheUtils.put(cacheKey, proceedObject); return proceedObject; } }}
第三步 调用
@IcCacheable(key = "'vr_biz_to_batch:'+#batchId") public VrBizToBatch queryBizInfo(String batchId) { QueryWrapper<VrBizToBatch> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("batch_id", batchId); try { VrBizToBatch bizToBatch = vrBizToBatchService.getOne(queryWrapper); if (bizToBatch == null) { throw new IcBizException(EnumBizError.NO_SCENE_FOR_BATCH_ERROR.getCode(), EnumBizError.NO_SCENCE_ERROR.getMsg()); } return bizToBatch; } catch (Exception e) { throw new IcBizException(EnumDbError.QUERY_ERRO.getCode(), EnumDbError.QUERY_ERRO.getMsg()); } }
留个关注
《日常分享系列》,会持续更新,想了解的朋友可以关注 ,文章有帮助的话可以长按点赞有惊喜!!!文章比较长,大家可以先 收藏、转发后再看,有什么补充可以在下面评论,谢谢大家!
本文标签:
-
《寻还》试玩评测:略有创新的像素肉鸽逆向塔防独立游戏制作人。这是个听起来就很酷的职业名词。至少对于广大游戏玩家来说,能够从事这样的行业,并能为玩家带来更多更好玩的游戏,确实是极其美妙的梦想。《寻还》就是这时间:2022-09-21
-
《纯白和弦》评测:我好像在哪见过你丑话先说在前头,这已经不是我第一次被手游的宣传诈骗了。在内测期间没能赶上《纯白和弦》这款游戏,一等就等到了游戏公测,公测的宣传文案很长,但第一句就提到了,本作是时间:2022-09-21
-
《同步音律》手游评测:“接地气”的二次元音游说起音游,许多朋友最先想到的就是《节奏大师》,这款在13年爆火的音游是无数人的音游启蒙之作。在那个时候,甚至是完全不玩游戏的长辈和邻居家的好学生也都多少接触过这时间:2022-09-21
-
《我的化石博物馆》评测:考古,然后拼出恐龙[pagetitle][/pagetitle]说到考古,许多朋友会想到央视曾经热播的《鉴宝》节目:端上宝藏,鉴宝团对其进行鉴定,最终由专家讨论决定鉴定为真或假。时间:2022-09-21
-
《驻留》评测:向后一步,便是深渊你可以在任意时间离开游戏,但在你离开游戏的时间里,游戏依然会持续推进,游戏主角将不得不独自度过你离开的每一秒钟。本作将着力渲染焦虑,死亡,孤独和绝望等主题。刚进时间:2022-09-21
c
- 类型:策略棋牌
- 语言:简中
- 大小: 70.25MB
- 版本: 0.1.0
- 星级:
热门阅读
- 天下第一社区视频www免费看内容丰富可以随意选择,网友:还不限次数!
阅读:1283557
- 老阿姨哔哩哔哩B站肉片入口进出无限制!网友:没骗人,随便进
阅读:810673
- 迈开腿让学长尝尝你的草莓突然上热搜,网友:这水果难道有这么好吃吗
阅读:395775
- 能看美女隐私部位的软件(不收费的隐私软件有哪些)
阅读:231995
- 麻豆精产国品一二三产区区别哇,我从来没见过这样的表演!
阅读:225015