程序人生
文章平均质量分 67
Young-Pefect
精彩人生
展开
-
【精华】利用Redis lua脚本实现高并发抢红包
前言基于Redission客户端,通过Redis lua脚本抢红包1、创建红包对象首先,设计一个红包对象,包含:红包id、红包总金额 、红包总个数 、红包已抢个数 、红包已抢金额@Datapublic class RedEnvelope { /** 红包id */ private String id; /** 红包总金额 */ private int amount; /** 红包总个数 */ private int count; /** 红包已抢个数 */原创 2021-01-29 16:43:34 · 550 阅读 · 0 评论 -
基于PageHelper + Mybatis-plus + 自定义Query注解,实现快速分页查询
基于PageHelper + Mybatis-plus + 自定义Query注解,实现快速查询需求背景自定义注解@QueryQueryBuilderQueryRequestBaseServiceImpl其他需求背景自定义注解@Query@Target(ElementType.FIELD)@Retention(RetentionPolicy.RUNTIME)public @interface Query { String column() default ""; Type typ原创 2021-01-25 23:39:25 · 876 阅读 · 1 评论 -
基于Spring Aop + Redis实现分布式多维度前置后置限流
基于Spring Aop + Redis实现多维度分布式前置后置限流说明配置Maven依赖配置Redis定义限流注解创建Aop类使用说明在实际场景,比如发送短信验证码、刷评论是需要一定限流控制的,其中限流又可以分为前置限流,后置限流。所谓前置限流即为调用目标接口前校验,无论被调用的接口是否发生异常或者是否返回预期值;后置限流是调用接口后,可以根据指定的Condtion判断是否记录次数,Condtion支持EL表达式。本文通过Spring Aop + 自定义注解 + Redis 分布式锁 + Re原创 2021-01-24 15:23:05 · 393 阅读 · 2 评论 -
SpringBoot + Mybatis统一枚举字典常量
SpringBoot + Mybatis统一枚举字典常量需求背景定义通用的枚举类前置条件枚举常量的JSON序列化、反序列化SpringBoot参数转换Mybatis(plus)数据字段与枚举常量互转扩展XCloudEnumEndpoint需求背景在实际项目开发的过程中,不同开发水平的开发人员写的代码参差不齐,可读性差,一致性差。比较常见的就是代码中经常在if中使用魔法值做比较判断,有的人使用常量判断,有的人使用枚举判断,造成整体项目代码质量偏低。即使使用了枚举,大家编写的风格有可能又是各有各的风格,代原创 2021-01-26 08:45:55 · 989 阅读 · 0 评论 -
Spring Cloud Gateway网关实现短网址生成、解析、转发
Spring Cloud Gateway网关实现短网址生成、解析、转发原创 2021-01-22 16:57:22 · 1121 阅读 · 0 评论 -
Spring Cloud Feign文件上传(File及MultipartFile)
Spring Cloud Feign文件上传(File及MultipartFile)说明MultipartFile文件上传本地File对象上传说明当使用Spring Cloud Feign需要上传文件分两种情况:一种是前端上传到微服务,微服务调用Feign接口上传到另一个微服务;另一种是微服务本身本身生成本地文件上传到另一个微服务。MultipartFile文件上传这种最简单,只需要提供一个@Bean SpringEncoder即可,然后定义Feign接口即可完成@Configuration原创 2021-01-22 09:22:55 · 2588 阅读 · 2 评论 -
深入扩展Spring Cloud Oauth2授权模式(支持微信、短信等扩展)
概述当我们使用Spring cloud(security) oauth2的时候,有时候默认的四种授权模式是不满足我们的需求,比如短信登录、微信登录等,此文讲解从源码分析到扩展的原理,仅供参考。深入分析Spring cloud oauth2令牌颁发流程,并且如何通过自定义TokenGranter来优雅的扩展。源码分析首先我们创建一个配置类@Configuration@EnableAuthorizationServerpublic class AuthServerConfig extends Aut原创 2021-01-21 10:21:34 · 1037 阅读 · 0 评论 -
基于Mybatis-Plus的TypeHandler的附件及附件组处理
概述当我们在Web开发中,经常会用到图片、图片组,经常需要left join附件表进行查询,如果是图片组left join都不好使,处理起来更加麻烦。此文通过利用TypeHandler,结合Redis实现自动关联新增、查询、修改操作。步骤1、定义附件实体Pic、PicGroup@Data@NoArgsConstructor@AllArgsConstructorpublic class Pic { private String id; private String fileId原创 2021-01-25 23:43:19 · 437 阅读 · 0 评论 -
SpringCloud+Feign+Hystrix统一FallbackFactory降级处理
SpringCloud+Feign+Hystrix统一FallbackFactory降级处理概述说明前提源码分析扩展、统一FallbackFactory其他说明结果概述说明当我们使用Spring cloud的时候,基本都是会用到Feign、Hystrix相关技术。每一个接口类使用@FeignClient注解的时候都是必须要指定fallbackFactory、或者fallback进行降级处理,当然fallbackFactory会用的更多一些,可以捕获异常。这样导致编写大量的fallbackFactory,原创 2021-01-20 18:01:12 · 5309 阅读 · 20 评论 -
【技巧篇】基于JSON存储的通用逻辑表设计
这里写自定义目录标题另一种参数字典另一种参数字典原创 2021-01-28 22:59:16 · 594 阅读 · 0 评论 -
elasticsearch零停机修改索引
elasticsearch零停机切换修改索引原创 2021-01-29 16:49:49 · 138 阅读 · 0 评论