自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 springboot项目kafka入门步骤

3.在子工程消费者中写一个监听类监听生产者发的内容通过@KafkaListener(topics = ArticleConstants.ARTICLE_ES_SYNC_TOPIC)2.在子工程生成者中调用kafkatemplate的send方法把内容发送到主题。1.准备依赖,在springboot父工程中。

2023-09-10 22:55:04 59 1

原创 freeMark生成模板引擎的步骤

3.通过configration的gettemplate方法把事先准备的ftl模板传进去生成一个模板对象。6.调用configration的process方法传入map和out生成模板。2.注入这个依赖的configration类。5.把事先准备好的内容封装成一个map。4.创建一个缓存流out。

2023-09-10 22:23:55 66 1

原创 Feign远程调用的入门案例

启动类开启feign支持扫描feign-api模块下的这个包com.zzx.apis。在生成模块加入feign-api模块的依赖。这样就可以实现feign-api接口的方法。调用feign-api提供的接口方法。1.准备feign-api模块。3.消费者调用生产者的接口。编写生产者的接口方法。

2023-09-03 16:36:11 62

原创 xxl-job的使用入门案例

11.配置测试模块的配置文件分别为xxl.job.admin.addresses,xxl.job.executor.appname,xxl.job.executor.port。解压成工程然后找到xuxueli0323-xxl-job-2.3.0\xxl-job\doc\db下的tables_xxl_job.sql文件。5.访问配置中心,用户名,密码默认都是admin,端口号8080,在刚刚的配置文件中可以看到。8.做好上述的xxl-job的配置后,创建一个测试模块来测试。2.配置xxl-job的数据库。

2023-09-02 01:25:36 228

原创 Nacos入门案例

4.创建bootstrap.yml配置文件,该配置文件在application.yml配置之前被读取,所以在该配置文件中做一些nacos注册中心的配置。1.启动Nacos:startup.cmd -m standalone。这里用的是提前安装在windows上的nacos。2.在user端加入nacos-discovery注册依赖,用于把该用户注册到nacos。具体安装步骤参考nacos安装篇。3.加入统一配置管理依赖。

2023-09-02 00:34:59 32

原创 微服务入门案例使用RestTemplate远程调用

所以应该在用户模块中提供一个restful接口,而这个接口就是查询数据库中用户信息的,订单模块。订单服务如果需要查询用户信息,只能调用用户服务的Restful接口,不能查询用户数据库。2.编写controller方法来给order远程调用并返回查询到的用户信息。而如果在订单服务中直接查数据库中的用户信息这是不符合微服务的拆分原则的。可以通过远程调用访问这个restful来实现用户信息查询的功能。而订单查询是订单服务的功能两者并没有直接关系。首先可以想到,用户信息查询是用户服务的功能。

2023-08-29 22:24:41 173 1

原创 解决springboot的application.yml配置文件写中文注释报错的问题

可是更改完之后并没有解决这个问题,重写运行项目还是报这个错误,这个时候可能是配置文件没有加载进来,可以按快捷键Ctrl + Shift + F9” 对整个项目进行完整的构建重新加载配置文件。在springboot的配置文件中,编写中文注释会报这么一个错误。file->setting的file Encodings下。解决这个错误的办法很简单那就是更改配置文件的编码格式:在。

2023-08-29 16:13:58 614 1

原创 redis实现一个简单的分布式锁

这样做的目的是,只有第一个尝试设置键的线程会成功,后续的线程将无法设置该键。通过缓存当前线程的ID,并在释放锁时进行验证,确保只有当前线程才能释放锁。释放锁的操作用lua脚本来写:这样做的目的是保证redis操作的原子性,防止多线程并发锁误删的问题。1.准备工作:SETNX 是 Redis SET 命令的一种选项,用于在键不存在时才进行设置。可以利用redis这个命令的特效来实现分布式锁的效果,如果键存在则返回0,不存在则返回1。缓存当前线程的ID,并在释放锁时进行验证,确保只有当前线程才能释放锁。

2023-08-29 12:43:30 43

原创 redis缓存击穿的两种处理方式

4.逻辑过期时间一般用于事先需要准备好的缓存,就好比双十一搞活动事先把点击率高的都缓存一遍,然后再设置个逻辑过期时间,这样缓存不会真的失效,即使缓存过期了也会先用旧的数据先顶着用,这样大大提高了性能。缺点就是数据不能保持一致,如果数据库发送更新操作,需要等到缓存过期才能更新缓存。先准备一个redisdata类,该类包含redis的data属性,以及逻辑过期的时间属性。2.处理缓存击穿的大致思路。3.编写逻辑过期的业务逻辑。

2023-08-28 23:48:07 37

原创 数据库连接池的一些错误

JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@48c25727] will not be managed by Spring”:该JDBC连接由于一些原因,不会被Spring框架管理。这可能是因为连接池中的某些连接长时间没有被使用,超过了连接池的闲置时间阈值,连接池会自动将这些连接废弃。大致意思是连接池会每隔60秒进行一次空闲连接的检测和回收操作,意思就是自己主动回收了所以不会报自动超时自动回收的错误了。问了别人才知道可能是这两个问题。

2023-08-28 12:31:17 183 1

原创 Redis 的存储结构,以及这些结构的常用方法

散列,是一个键值(key=>value)对集合。,集合,是 string 类型的无序集合,最大的成员数为 232 -1(4294967295, 每。不同的是每个元素都会关联一个 double 类型的分数。合中的成员进行从小到大的排序。zset 的成员是唯一的,但分数(score)却可以重复。,字符串,是 redis 的最基本的类型,一个 key 对应一个 value。,有序集合,和 set 一样也是 string 类型元素的集合,且不允许重复的。列表,是简单的字符串列表,按照插入顺序排序。

2023-08-27 19:53:59 117

原创 redis缓存基础入门--基于springboot项目

这里我们可以看到redis中有了缓存,我们可以重复上述操作,用postman反复发送请求,结果在最后的日志信息中,只看到了一次数据库查询操作,说明只有第一次是查询数据库的,因为第一次没有缓存,而以后的查询操作都是走的Redis的缓存。2.再编写一个控制器类处理前端发送过来的请求并编写核心缓存逻辑,当然实际开发中缓存逻辑不建议写在控制器方法中。1.先写一个响应结果的封装类。

2023-08-26 22:44:42 37 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除