- 博客(92)
- 资源 (49)
- 收藏
- 关注

原创 分库分表后,跨库查询和分布式事务解决方案
分库分表主要是为了解决单库单表的性能瓶颈,但拆分后数据分散在不同库和表中,这就导致了跨库查询和分布式事务的问题。
2025-03-23 23:40:12
1119

原创 数据库锁机制
悲观锁:优先保证数据强一致,以性能为代价,适合短事务、高冲突场景。乐观锁:以重试成本换取高并发能力,适合长事务、低冲突场景。选型核心:根据业务冲突概率、一致性要求及系统架构(如分布式环境)综合决策。
2025-03-23 20:27:51
882

原创 数据库性能分析
任意时间段的慢sql数量,具体的sql语句和参数,执行次数、执行时间和总耗时等。以下简述如何应用mysql自身集成的命令和第三方工具统计慢sql,定位瓶颈。
2025-03-23 16:37:16
505

原创 应用索引下推、索引覆盖、索引跳跃扫描等特性优化数据库查询效率
ICP:优化复合索引的非前导列过滤,减少回表。覆盖索引:直接通过索引返回数据,避免IO开销。索引跳跃扫描:弥补缺失前导列的查询,避免全表扫描。实践建议:通过EXPLAIN分析执行计划,结合业务场景设计索引,优先选择覆盖索引,必要时启用ICP或Skip Scan。
2025-03-23 13:23:04
593

原创 Spring中的事务管理实现与@Transactional注解属性
Spring事务管理通过AOP实现,核心是。注解提供了丰富的事务控制属性,如传播行为、隔离级别、超时时间等。默认传播行为是REQUIRED,默认回滚行为是和Error。注意代理失效问题和异常处理。
2025-02-10 21:49:10
820
原创 机器人流程自动化(RPA)技术发展简史
RPA的发展是工业自动化→信息化工具→AI赋能→生态化平台的螺旋上升过程,其核心始终围绕降本增效展开,而技术的每次跃迁都回应着企业数字化转型的深层需求。
2025-07-19 00:55:30
736
原创 图形处理算法分类、应用场景及技术解析
图形处理算法涵盖传统图像处理到深度学习的广泛领域,本期按技术路线分类介绍核心算法及其典型应用场景,具体选择需结合数据规模、硬件条件及任务目标综合考量。
2025-07-13 19:31:57
80
原创 Python自动化:每日销售数据可视化
本期通过连接MySQL数据库获取Linda奶茶店近30天的销售数据,使用Python的Matplotlib库生成可视化柱状图。脚本包含数据库连接、数据查询、日期处理、缺失值填充等功能,最终生成带有数据标签、网格线和背景水印的专业图表,并自动保存为PNG文件。图表展示了每日收入趋势,适合用于网站集成或邮件推送。执行前需安装mysql-connector-python和matplotlib库。该方案实现了销售数据的自动化可视分析需求。
2025-07-13 12:11:27
95
原创 高效图片工厂:Python批量生成定制尺寸和格式的图片
做一个图片处理工具系统中,我们有时会需要快速生成指定尺寸和不同格式的图片用来测试兼容性,方便在页面交互做些更好的提示。虽然现在有不是AI生图工具,找了好几个也没合适的可以直接满足这种需求,最后还是用脚本批量处理了。
2025-07-13 11:04:49
45
原创 图片与视频文件混合合成
这期主要内容是将图片和mp4文件混合合成视频。这里以Linda奶茶店的一组手办图为例,合成短视频,同时图片带切换效果,左下角带水印。
2025-07-11 00:36:56
142
原创 零成本实现商品图换背景
这个同样是图片素材处理的付费功能,这期演示如果通过技术实现给商品图换背景,用程序处理的意义是可以快速大批量地完成这种需求,马上就可以对比看效果。
2025-07-11 00:04:41
348
原创 零成本实现文本转语音
这期内容我觉得比较适合自媒体创作者。虽然现在有不少云厂商提供文本转语音API,但不少客户端标榜免费却通过扣充值额度变相收费。本期将分享如何通过技术手段实现零成本文本转语音。无论是制作电商产品介绍,还是诗词讲解、童话、睡前听故事等有声读物,甚至将成品用于短视频创作或有声产品变现,这些技能都能派上用场。
2025-07-09 21:59:28
144
原创 数据库版本自动管理
FlywayDB 是一款 开源数据库版本管理工具,开发中将表结构的变更或数据初始化脚本维护好,更新到测试环境或线上发版启动服务的时候,会检测版本号自动执行数据库变更,可以减少每次发版到其他环境的人工执行操作。
2025-07-08 19:57:29
485
原创 自然语言数据检索过程分析演练与落地难点总结
本期展示从理解用户的自然语言查询到生成正确的SQL查询语句的整个过程,包括了对查询的理解、关键字提取、模式匹配、表格间关系的解析、SQL的生成与验证以及最后的语义一致性检查。最后演示了基于自然语言的mysql数据库复制检索后返回普通用户可理解的回答。
2025-07-08 00:38:23
510
原创 MCP(Model Context Protocol)在跨境电商领域的应用
MCP通过协议标准化与动态数据连接,构建覆盖"选品-供应链-运营-合规"的全链路基础设施,持续降低跨境电商全球化扩张的技术门槛。
2025-07-06 11:20:50
358
原创 基于企业私有数据实现智能问答
摘要:本文介绍了如何使用docker-compose部署Milvus向量数据库Standalone模式,并展示了通过UI页面管理Collection和数据的过程。文章详细演示了如何导入金融领域文档数据并进行向量化存储,实现基于关键字的语义搜索,最后整合大语言模型优化自然语言问答功能,确保回答内容来自自定义数据集。整个流程涵盖了向量数据库的核心使用场景:数据存储、语义搜索和智能问答。
2025-07-05 20:11:38
313
原创 Error response from daemon: Get “https://registry-1.docker.io/v2/“: net/http
Docker加速
2025-07-05 18:19:39
258
原创 AI时代,普通人最值钱的4个核心能力!
当 AI 批量生产 10 万 + 爆款,用惊艳设计图刷屏网络,普通人该如何在这场技术风暴中站稳脚跟?这四大核心能力,就是破局的终极武器!
2025-06-29 16:46:46
615
原创 Temu半托管模式下,卖家需要做什么
Temu半托管模式是一种介于全托管与传统跨境之间的运营方式,卖家负责商品上架、定价、库存及物流等核心环节,平台则提供流量支持、物流协助及售后保障。相比全托管的"甩手掌柜"模式,半托管赋予卖家更多自主权,适合有跨境电商经验、供应链优势或希望自主定价的卖家。平台会给予流量扶持、物流资源对接及售后兜底等支持,但卖家需投入更多运营精力。该模式平衡了平台效率与卖家灵活性,为有能力的卖家提供了新的选择。
2025-06-29 11:37:37
488
原创 新手如何上手Temu跨境店铺运营
新手运营Temu跨境店铺需掌握平台规则、选品策略和运营全流程。首先要了解Temu半托管模式特点,熟悉商品审核、物流时效等核心规则。注册需准备营业执照等资质材料,通过审核后绑定收款账户。选品应分析平台热销品类,筛选高性价比货源,并通过小批量测款验证可行性。上架商品需优化标题和详情页,利用平台流量工具提升曝光。物流方面需按时发货至国内仓,平台负责尾程配送。同时要关注售后反馈,控制退货率,并通过数据分析持续优化运营策略。核心在于高效供应链管理和精准选品,建议新手从家居、服饰等热门品类切入,逐步提升店铺销量。
2025-06-29 11:32:44
793
原创 湖仓一体开发实践
本文主要讲述通过Flink将数据以Paimon格式写入外部对象存储,过程中各种问题的处理、数据存储形式以及如何通过doris读取外部对象存储上面的分片数据。
2025-06-21 09:58:33
296
原创 Flink CDC将MySQL数据同步到数据湖
本项目实现MySQL数据迁移方案,采用Flink CDC 3.4.0监听MySQL binlog日志,将变更数据写入Kafka,再由消费者写入Doris或外部存储。技术栈包括Flink 1.20.1、Kafka 2.13-4.0.0及Dragonwell JDK 17。项目Maven配置引入Flink核心组件、CDC连接器、Kafka客户端及OSS/Hadoop等存储支持依赖,主程序通过Flink流处理实现实时数据管道。方案支持结构化数据同步至多种目标系统,具备高吞吐、低延迟特性。
2025-06-02 21:25:52
838
原创 Doris环境部署与应用开发
本文演示了Doris开发环境部署与过程中的问题处理,最后结合Go开发了数据埋点接口,演示数据写入和读取的实战流程,为后面湖仓一体的落地打下基础。
2025-06-02 12:33:00
768
原创 分区表的应用场景与优化实践
当表的数据量非常大,达到几千万甚至上亿行时,全表扫描会很慢,这时候分区可以帮助缩小扫描范围。比如,在一个电商系统中,订单表可能按月份分区,这样查询某个月的订单时,只需要扫描对应的分区,而不是整个表。或者在日志系统中,按天分区,方便归档和删除旧日志。另外,如果数据有明显的分区键,比如时间字段,按时间分区可以方便地管理历史数据,比如删除旧数据时直接删除整个分区,效率更高。当然,分区键的选择不当可能导致性能问题,或者分区过多带来的管理复杂性。分区表是将一个大表分成多个较小的、更易管理的部分,每个部分称为一个
2025-03-23 20:05:12
757
原创 Canal同步延迟和数据丢失优化方案
Canal是通过解析MySQL的binlog来获取数据变更事件的,然后将这些变更事件发送到下游,比如Redis。在同步的过程中需要解决实时性和一致性的问题。首先,实时性方面,可能涉及到Canal本身的处理速度,比如是否及时解析binlog,以及下游处理的速度,比如Redis写入是否够快。此外,网络延迟也是一个因素。一致性方面,可能需要确保数据变更的顺序正确,以及事务的原子性,比如一个事务内的多个操作是否被正确处理。
2025-03-23 17:29:05
1300
原创 SQL优化与最佳实践
灵活选择子查询、JOIN或窗口函数。:JOIN通常比IN子查询更高效,尤其是关联字段有索引时。:单次表扫描 + 窗口函数计算,时间复杂度O(N)。:对每条记录执行子查询,时间复杂度O(N²)。:确保JOIN字段有索引,避免笛卡尔积(如。:窗口函数只需一次表扫描,避免嵌套查询。在重写SQL语句时,需结合。
2025-03-23 12:02:51
12
原创 雪花算法生成分布式唯一ID
雪花算法的结构是由时间戳、工作机器ID和序列号构成。要确保全局唯一,必须保证每个节点的机器ID唯一,并且同一毫秒内序列号不重复。在分库分表的环境下使用雪花算法,机器ID的分配是关键。常见的做法是通过分布式系统协调,比如使用ZooKeeper或者数据库来分配唯一的机器ID,在启动时从外部服务获取ID,并持久化存储,防止重启后ID变化。另外,时间戳部分需要保证各节点的时钟同步,否则可能出现时间不一致导致ID冲突。
2025-03-23 10:40:38
1244
原创 MySQL分库分表后单表数据还是过大怎么办
针对使用ShardingSphere分库分表后MySQL单表数据仍然过大的问题,以下是分步骤的解决方案:首先明确单表数据量过大的具体原因:2.2 增加分片数量若当前分片数为,可扩容至或更高,需配合数据迁移工具(如ShardingSphere-Scaling)平滑迁移。动态分片:设计支持动态扩容的分片规则(如按范围分片时预留分片空间)。2.3 多维度分片组合分片策略:例如同时按和分片,避免单维度热点。**3. 冷热数据分离3.1 归档历史数据将历史数据(如3年前订单)迁移至归档
2025-02-23 15:09:53
1219
原创 分布式事务如何保证数据一致性
分布式事务的核心挑战是无法通过本地事务保证全局一致性。常见的解决方案包括最终一致性、最大努力一致性、2PC、TCC、Saga等。最终一致性适合高并发场景,但需要设计补偿机制。强一致性方案(如2PC、TCC)适合对一致性要求较高的场景,但性能较低。
2025-02-10 22:22:51
571
原创 Spring MVC中使用@ControllerAdvice和@ExceptionHandler处理异常
它们可以帮助开发者集中处理异常,避免在Controller中重复编写异常处理逻辑。Spring MVC 提供了多种方式来处理异常,其中最常用的是。
2025-02-09 13:37:10
768
原创 线程池上下文参数传递
传统做法是在任务执行前设置ThreadLocal变量,但线程池中的任务可能由不同的线程执行,导致主线程设置的ThreadLocal变量在任务线程中不可见。任务可能在另一个线程执行,该线程的ThreadLocal变量未被设置,导致任务无法获取到主线程的上下文。如果这个线程之前执行过某个任务,并且该任务设置了ThreadLocal变量,那么这些变量可能仍然存在于该线程中,导致后续任务访问到旧的数据,或者如果任务没有正确清理ThreadLocal变量,可能导致内存泄漏或数据混乱。
2025-02-04 14:18:36
738
原创 CountDownLatch和CyclicBarrier的区别,这回看懂了!
CountDownLatch的计数器由外部控制,而CyclicBarrier由线程自己调用await来减少计数。CountDownLatch适用于主线程等待多个子任务完成,而CyclicBarrier适合分阶段的任务,比如多轮计算。CyclicBarrier有屏障损坏的问题,而CountDownLatch一旦到零就不会改变。CyclicBarrier自动重置,而CountDownLatch需要重新创建。
2025-02-03 22:42:13
425
原创 深入理解Java虚拟线程的同步编程模型
传统上,Java使用的是平台线程(Platform Threads),也就是操作系统线程,每个平台线程都对应一个操作系统线程,创建和切换成本较高,尤其是在高并发场景下,线程数量增多会导致资源消耗大,甚至可能引发性能问题。虚拟线程(Virtual Threads)是Project Loom引入的,旨在解决这些问题。虚拟线程是轻量级的,由JVM管理,而不是直接映射到操作系统线程。这使得可以创建大量的虚拟线程而不会显著增加系统开销。听起来这很适用于高并发的I/O密集型应用,比如Web服务器处理大量请求的情况。
2025-02-03 12:37:09
1333
原创 linux系统排查命令
如下查看进程ID为9739的进程打开的文件句柄,可以看到进程的所有mysql、redis、nacos等网络连接和打开的文件路径,这个在程序出现文件流操作未关闭和内存泄漏等情况排查比较有用。linux系统对每个进程打开的文件句柄数限制有上限,如果进程持续操作文件流未关闭,可能会出现“Too many open files”的IO异常。
2024-11-19 23:42:13
304
原创 k8s部署微服务项目
而在实际生产中,大部分中小企业不会自建云,容易故障踩坑,更多选择云托管。自主搭建Jenkins,Maven私服,Rancher管理k8s集群,好一点的会自主研发Devops平台加入审批流,上线前研发Leader审批版本发布、sql脚本等。阿里云效其实也是干这种事情,最近在上面走了下流程,可以给大家简单看下我成功运行过的流水线。一般互联网公司的发布流程大致也是这样,前面还会有git分支管理合并等,如果代码合并有冲突也会中断。在代码构建前会有代码扫描、安全扫描、漏洞检测、单元测试覆盖率等,代码扫描完可以查看
2024-04-27 11:03:08
2472
1
原创 Saas系统多任务分发排队
这里可以根据用户等级拆分不同主题的队列,如免费版的topic和vip版的topic,里面调度逻辑一模一样,只不过对应不同的消费者,发送使用的账号可能也不同
2024-04-21 17:16:44
370
Message的各种使用案例
2015-01-30
子线程接收主线程发送的消息
2015-01-30
Message消息的两种发送方式样例send和post
2015-01-30
用Android写的MP3Player
2015-01-23
用MVC模式写的JSP连接数据库操作完整代码包
2014-10-29
FileSaveToSDCard
2015-01-28
AlertDialog
2015-01-26
PopupWindow
2015-01-27
管理MessageQueue的Looper
2015-01-30
DateAndTimeDialog
2015-01-26
你可能不知道的Toast用法
2015-01-31
Android的SQLite详细应用实例
2015-01-24
隐式Intent的应用
2015-01-23
AsynTaskProject
2015-01-28
ProgressDialog应用实例
2015-01-26
你可能不知道的Notification用法
2015-01-31
管理MessageQueue的Looper使用
2015-01-30
写数据到手机内存
2015-01-27
Android实现二级菜单和标题栏菜单
2015-02-22
Menu应用实例
2015-02-22
gocode.rar
2016-02-13
gocode.exe
2016-02-13
ActionMode和PopupMenu应用
2015-02-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人