摘要: SQL抽象语法树及改写场景应用 我们平时会写各种各样或简单或复杂的sql语句,提交后就会得到我们想要的结果集。比如sql语句,”select * from t_user where user_id > 10;”,意在从表t_user中筛选出user_id大于10的所有记录。你有没有想过从一条sql到一个结果集,这中间经历了多少坎坷呢? 阅读全文
posted @ 2022-10-09 11:00 京东云开发者 阅读(985) 评论(0) 推荐(1) 编辑
摘要: UData查询引擎优化-如何让一条SQL性能提升数倍 1 UData-解决数据使用的最后一公里 1.1 背景 在大数据的范畴,我们经历了数据产业化的历程,从各个生产系统将数据收集起来,经过实时和离线的数据处理最终汇集在一起,成为我们的主题域数据,下一步挖掘数据的价值将成为关键。 数据应用直接体现数据的价值,数据应用多种多样,它们使用数据的方式也各不相同 阅读全文
posted @ 2022-10-08 14:27 京东云开发者 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 文盘Rust -- struct 中的生命周期 最近在用rust 写一个redis的数据校验工具。redis-rs中具备 redis::ConnectionLike trait,借助它可以较好的来抽象校验过程。在开发中,不免要定义struct 中的某些元素为 trait object,从而带来一些rust语言中的生命周期问题。 本文不具体讨论 r 阅读全文
posted @ 2022-10-08 11:14 京东云开发者 阅读(324) 评论(1) 推荐(0) 编辑
摘要: 源码学习之MyBatis的底层查询原理 本文通过MyBatis一个低版本的bug(3.4.5之前的版本)入手,分析MyBatis的一次完整的查询流程,从配置文件的解析到一个查询的完整执行过程详细解读MyBatis的一次查询流程,通过本文可以详细了解MyBatis的一次查询过程。在平时的代码编写中,发现了MyBatis一个低版本的bug(3.4.5之前的版本),由于现在很多工程中的版本都是低于3.4.5的,因此在这里用一个简单的例子复现问题,并且从源码角度分析MyBatis一次查询的流程,让大家了解MyBatis的查询原理。 阅读全文
posted @ 2022-09-30 10:44 京东云开发者 阅读(663) 评论(0) 推荐(4) 编辑
摘要: Optional源码解析与实践 NullPointerException在开发过程中经常遇到,稍有不慎小BUG就出现了,如果避免这个问题呢,Optional就是专门解决这个问题的类,那么Optional如何使用呢?让我们一起探索一下吧! 阅读全文
posted @ 2022-09-29 10:44 京东云开发者 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 原生Redis跨数据中心双向同步优化实践 一、背景 公司基于业务发展以及战略部署,需要实现在多个数据中心单元化部署,一方面可以实现多数据中心容灾,另外可以提升用户请求访问速度。需要保证多数据中心容灾或者实现用户就近访问的话,需要各个数据中心拥有一致的全量数据,如果真正实现用户就近读写,也就是实现真正的业务异地多活,数据同步是异地多活的基础, 阅读全文
posted @ 2022-09-28 09:42 京东云开发者 阅读(976) 评论(0) 推荐(4) 编辑
摘要: 如何实现数据库读一致性 1 导读 数据的一致性是数据准确的重要指标,那如何实现数据的一致性呢?本文从事务特性和事务级别的角度和大家一起学习如何实现数据的读写一致性。 2 一致性 1.数据的一致性:通常指关联数据之间的逻辑关系是否正确和完整。 举个例子:某系统实现读写分离,读数据库是写数据库的备份库,小李在系统中之前录入的学 阅读全文
posted @ 2022-09-27 09:38 京东云开发者 阅读(749) 评论(1) 推荐(1) 编辑
摘要: 轻量级工作流引擎的设计与实现 一、什么是工作流引擎 工作流引擎是驱动工作流执行的一套代码。 至于什么是工作流、为什么要有工作流、工作流的应用景,同学们可以看一看网上的资料,在此处不在展开。 二、为什么要重复造轮子 开源的工作流引擎很多,比如 activiti、flowable、Camunda 等,那么,为什么没有选它们呢?基于以 阅读全文
posted @ 2022-09-26 11:21 京东云开发者 阅读(483) 评论(0) 推荐(0) 编辑
摘要: 幂等设计详解 本文主要从研发人员的角度,结合研发人员日常常见的各类业务场景,从经典系统框架的每一层入手分析幂等处理的时机。希望通过这篇文章的分析,让开发者在日常开发中对幂等的处理不再陌生。抓住导致请求、接口不幂等的本质,在工作中避免再陷入这个陷阱中。 阅读全文
posted @ 2022-09-26 10:34 京东云开发者 阅读(480) 评论(1) 推荐(1) 编辑
摘要: Lua脚本在Redis事务中的应用实践 使用过Redis事务的应该清楚,Redis事务实现是通过打包多条命令,单独的隔离操作,事务中的所有命令都会按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。事务中的命令要么全部被执行,要么全部都不执行(原子操作)。但其中有命令因业务原因执行失败并不会阻断后续命令的执行,且也无法回滚已经执行过的命令。如果想要实现和MySQL一样的事务处理可以使用Lua脚本来实现,Lua脚本中可实现简单的逻辑判断,执行中止等操作。 阅读全文
posted @ 2022-09-23 10:13 京东云开发者 阅读(746) 评论(2) 推荐(2) 编辑