![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
工作记录
lncy1991
当你凝视深渊时,深渊也在凝视你
展开
-
springboot整合redisson实现分布式锁及布隆过滤器
下载安装redisson整合maven添加依赖使用的版本是3.13,因为springboot使用的是2.1.3版本,因此按照官方上的提示,移除redisson-spring-data-22 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</arti原创 2020-09-04 17:02:47 · 1185 阅读 · 0 评论 -
springboot 整合mybatis-plus dynamic 多数据源实现读写分离
前言最近翻了下mybatis-plus官方文档,发现多数据源这一块,提供了读写分离的功能。之前系统使用的sharding sphere插件实现读写分离(没有使用分库分表,业务上不去),总结有以下缺陷:1、单纯使用读写分离,也受到SQL不支持项的约束2、项目启动时,加载meta数据时间比较长(200+的表,本地开发加载12000+ms,测试环境4000+ms)3、打印的sql执行日志,换行比较多,也不像mybatis打印的SQL那么容易还原(或者直接通过插件还原)既然mybatis-plus提供了读原创 2020-07-17 18:19:32 · 2333 阅读 · 0 评论 -
springcloud+shardingjdbc4.1.0+nacos+seata1.2.0集群
最近给项目加分布式事务,关于分布式事务的文章网上有很多,看了下比较适合springcloud/springcloud alibaba 架构的,是数据库中间件mycat和shardingsphere(shardingjdbc升级版本),综合考虑了下,选择了shardingsphere。大概原因:1、shardingsphere比较完善,包含数据库分库分表、读写分离、分布式事务、编排治理等等一系列功能,并且有shardingjdbc及中间件shardingproxy,即可以maven方式引进代码架构中使用,也原创 2020-06-12 12:15:00 · 3124 阅读 · 2 评论 -
springboot2+shardingsphere+mybatis plus
记一次学习数据库分库分表、读写分离记录准备工作1、安装vmware2、安装centos73、安装docker4、docker安装mysql85、vmware克隆6、设置mysql8主从读写分离+分库分表注意,分库分表,应分为分库和分表,所以有分库不分表,不分库只分表,分库分表分库不分表:两个库中,数据表结构一样:database0中user,database1中user 不分库只分表:只有一个库,数据表拆分为user_0,user_1…user_n分库+分表:database0中:us原创 2020-06-03 16:08:51 · 923 阅读 · 0 评论 -
对接微信小程序订阅消息
微信小程序订阅消息升级,以前的消息模板不适合使用了官方文档 微信官方文档需求使用小程序开直播宣讲会,学生可以预约,已经预约的学生发送开播前提醒以及开播提醒整体流程1、由产品在微信小程序中设计好模板,并且把模板id及内容给到前端及后端2、前端在小程序页面发起消息订阅授权,用户同意授权后,把微信返回的templateIds传给后端3、后端保存templateIds及组装好相应的内容,保存到数据库4、使用定时器去查询待发送的数据,发送给用户(开播前提醒)5、用户播时,发送开播提醒后端关键设计及原创 2020-05-08 23:24:12 · 490 阅读 · 0 评论 -
spring data elasticsearch使用逗号分词
需求处理ES数据时,有部分数据在存储时,是将list转为string,并使用了逗号作为连接的,而在查询时,又希望以逗号作为分词索引,以方便进行查询匹配设计ES默认分词里,是没有按照逗号分词的,但是支持自定义分词器,并且可以支持pattern的方式实现项目是springboot 2.1.0并集成了spring data elasticsearch。1、在document映射文件中添加映射...原创 2020-04-09 16:29:36 · 1271 阅读 · 2 评论 -
springboot 整合 hibernate validation全局拦截参数校验
需求对请求接口的参数进行校验项目情况springboot 2.1.0,引入spring-boot-starter-validation,(查找资料时,看到有文章说spring-boot-starter-web中包含了hibernate-validator,但是在我的项目中并不起作用,这个比较奇怪,但先不深究)实现过程1、项目引入spring-boot-starter-validation...原创 2020-04-09 16:01:28 · 534 阅读 · 0 评论 -
使用AOP记录用户请求参数
起因在生产环境中,遇到报错,后面通过查找,可以找到报错的接口或者方法,但是如果没有参数,则无法重现问题,因此记录参数请求,对于重复问题非常重要需求1、打印请求的方法及参数2、用户密码相关以及List类型(太长)的参数不打印实现过程1、添加aop类,切面方式使用execution@Slf4j@Aspect@Componentpublic class ControllerLog {...原创 2020-04-09 15:27:44 · 539 阅读 · 0 评论 -
操作日志记录及防重提交
起因某次测试发截图说好像因为网络卡的原因,导致添加一条数据,点了N次,结果在列表中就已经添加了N条。分析查看代码,在插入数据之前,有根据数据的字段内容查询是否已经存在,存在则更新,否则添加。依然出现这种情况,多种情况都可能导致:1、并发请求进来时,并发查询都是不存在,最后并发执行插入,导致脏数据;2、分布式应用,在执行插入相关操作时,没有进行数据库锁表的操作。第2点比较复杂,后面再处理...原创 2020-04-09 14:54:21 · 251 阅读 · 0 评论 -
使用IK中文分词器做敏感词过滤
需求部分字段(可能为富文本)需要做敏感词过滤,敏感词词库由产品给出。前置条件项目使用的spring cloud全家桶,springboot版本2.1.0 ,项目中集成了spring Data elasticsearch 单独为一个子模块被各个服务引用,elasticsearch 插件版本为6.6.2,并且es插件中已经安装ik中文分词器设计要求1、敏感词能精确过滤,速度尽量快2、如果敏...原创 2020-04-09 13:47:32 · 5435 阅读 · 4 评论