- 博客(45)
- 问答 (1)
- 收藏
- 关注
原创 Redis实战—商户查询缓存
1. 缓存就是数据交换的缓冲区(称作Cache),是存贮数据的临时地方,一般读写性能较高。2. 缓存数据存储于代码中,而代码运行在内存中,内存的读写性能远高于磁盘,因此缓存可以大大降低用户访问并发量带来的服务器读写压力。3. 实际开发过程中,企业的数据量少则几十万,多则几千万,这么大数据量,如果没有缓存来作为"避震器",系统是几乎撑不住的,所以企业会大量运用到缓存技术。但是缓存也会增加代码复杂度和运营的成本:降低后端负载、提高读写效率,降低响应时间。
2024-03-06 20:36:15 1030
原创 微服务—RabbitMQ高级(延迟消息)
在电商的支付业务中,对于一些库存有限的商品,为了更好的用户体验,通常都会在用户下单时立刻扣减商品库存。例如电影院购票、高铁购票,下单后就会锁定座位资源,其他人无法重复购买。但是这样就存在一个问题,假如用户下单后一直不付款,就会一直占有库存资源,导致其他客户无法正常交易,最终导致商户利益受损!。例如,订单支付超时时间为30分钟,则我们应该在用户下单后的第30分钟检查订单支付状态,如果发现未支付,应该立刻取消订单,释放库存。但问题来了:如何才能准确的实现在下单后第30分钟去检查支付状态呢?
2024-02-20 17:09:44 820
原创 微服务—RabbitMQ高级(业务在各方面的可靠性)
本文主要介绍了如何通过确保生产者、消息队列和消费者的可靠性,来保障支付服务和交易服务之间订单状态的一致性。
2024-02-20 09:57:08 1293
原创 微服务—RestClient操作(文档各类查询、搜索结果处理)
在elasticsearch提供的API中,与elasticsearch一切交互都封装在一个名为RestHighLevelClient的类中,必须先完成这个对象的初始化,建立与elasticsearch的连接。SearchHits:通过response.getHits()获取,就是JSON中的最外层的hits,代表命中的结果。可以看到,API与其它查询的差别同样是在查询条件的构建,QueryBuilders,结果解析等其他代码完全不变。hits:搜索结果的文档数组,其中的每个文档都是一个json对象。
2024-02-18 14:40:17 966
原创 微服务—DSL语法(文档各类查询、搜索结果处理)
查询的DSL是一个大的JSON对象,包含下列属性:query:查询条件from和size:分页条件sort:排序条件highlight:高亮条件。
2024-02-18 09:53:28 839
原创 微服务—DSL基础语法与RestClient操作
在elasticsearch提供的API中,与elasticsearch一切交互都封装在一个名为RestHighLevelClient的类中,必须先完成这个对象的初始化,建立与elasticsearch的连接。字符串:text(可分词的文本)、keyword(精确值,例如:品牌、国家、ip地址、分词无意义的值)全量修改是覆盖原来的文档,其本质是:先根据指定的id删除文档,再新增一个相同id的文档。如果根据id删除时,id不存在,第二步的新增也会执行,也就从修改变成了新增操作了。
2024-02-17 10:49:27 1046
原创 微服务—ES数据同步
elasticsearch中的数据是由我们通过mysql数据进行导入的,因此mysql数据发生改变时,elasticsearch中的数据也必须跟着改变,这就是elasticsearch与mysql之间的。在微服务中,负责酒店管理(操作mysql)的业务与负责酒店搜索(操作elasticsearch)的业务可能在两个不同的微服务上,那么数据同步该如何实现呢?hotel-demo对外提供接口,用来修改elasticsearch中的数据,酒店管理服务在完成数据库操作后,直接调用hotel-demo提供的接口。
2024-02-14 21:39:41 2264
原创 微服务—RabbitMQ基础(介绍、下载安装与使用)
AMQP(Advanced Message Queuing Protocol)是用于在应用程序或之间传递业务消息的开放标准。该协议与语言和平台无关,更符合微服务中独立性的要求。Spring AMQP是基于AMQP协议定义的一套API规范,提供了模板来发送和接收消息。包含两部分,其中spring-amqp是基础抽象spring-rabbit是底层的默认实现。
2024-02-01 21:29:41 1131
原创 微服务—Docker
文章章节:初识Docker、Docker与虚拟机的区别、镜像与容器、Docker架构、常见Docker命令、镜像命令、容器命令数据卷挂载直接挂载
2024-01-31 10:25:47 1225
原创 通过IService中提供的Lambda方法,简化复杂/动态sql语句的编写
通过IService中提供的Lambda方法,简化复杂/动态sql语句的编写
2024-01-24 17:52:16 392
原创 闇の連鎖(树上边差分+LCA)
可以得出结论:由主要边构成的图为树,因此可以把主要边看成树边,附加边看成非树边。个节点和两类边,一类边被称为主要边,而另一类被称为附加边。若删去a或b到lca路径上的任意一条树边,必须同时删去非树边a,b,才能使得图不连通。若一条边的边权=0:说明删去该树边后图不连通,因此可以再随意删去任意一条非树边,所以答案+=m;若一条边的边权=1:说明删去该树边后还得对应删除一条非树边,才能使图不连通,所以答案+=1;若一条边的边权>=2:说明删去该树边后还得对应删除两条非树边,才能使图不连通,不符合题意。
2023-03-11 18:48:24 134
空空如也
发生访问冲突时应该怎么解决
2021-08-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人