- 别再自己抄数据啦!鸿蒙教你“一拉即同步”的跨设备神操作 别再自己抄数据啦!鸿蒙教你“一拉即同步”的跨设备神操作
- 引言本期我们将把目光聚焦在 Redisson 中另一个颇具代表性的分布式锁实现——MultiLock。它的核心思想是:一次性对多个独立的 RLock 进行加锁或解锁操作,只有当多个锁都成功加锁时才算真正完成锁的获取,一旦有任何一个失败,整体操作都会回滚。这种“整锁整放”的方式,能更好地满足某些高要求的分布式业务场景。 介绍在分布式环境中,如果我们将数据拆分到不同的 Redis 实例、集群或... 引言本期我们将把目光聚焦在 Redisson 中另一个颇具代表性的分布式锁实现——MultiLock。它的核心思想是:一次性对多个独立的 RLock 进行加锁或解锁操作,只有当多个锁都成功加锁时才算真正完成锁的获取,一旦有任何一个失败,整体操作都会回滚。这种“整锁整放”的方式,能更好地满足某些高要求的分布式业务场景。 介绍在分布式环境中,如果我们将数据拆分到不同的 Redis 实例、集群或...
- 引言在本篇中,我们继续探索redisson中相关锁的实现,本期将围绕公平锁进行讲解。在正式开始前,我们回顾下公平锁的概念-在多线程或分布式环境中,锁的获取是有先后顺序的,按照请求顺序来获得锁。这就意味着A、B、C 三个线程都想获得同一把锁,那么最先请求的线程会被优先给予资源。如果此时锁被某个线程占用,其余线程会根据各自的排队顺序来抢占锁,谁排在前面,谁就先获得锁。在 Redisson 中,... 引言在本篇中,我们继续探索redisson中相关锁的实现,本期将围绕公平锁进行讲解。在正式开始前,我们回顾下公平锁的概念-在多线程或分布式环境中,锁的获取是有先后顺序的,按照请求顺序来获得锁。这就意味着A、B、C 三个线程都想获得同一把锁,那么最先请求的线程会被优先给予资源。如果此时锁被某个线程占用,其余线程会根据各自的排队顺序来抢占锁,谁排在前面,谁就先获得锁。在 Redisson 中,...
- 引言有加锁自然就有解锁,本篇则将围绕锁的释放锁Lua脚本进行深入剖析,另外,还将对阻塞和非阻塞两张方式分别如何获取锁进行比较。 可重入锁之释放锁这里我们依然是按照步骤来看看释放锁是如何执行的。 1.首先从入口方法开始:public void unlock() { try { get(unlockAsync(Thread.currentThread().getId()))... 引言有加锁自然就有解锁,本篇则将围绕锁的释放锁Lua脚本进行深入剖析,另外,还将对阻塞和非阻塞两张方式分别如何获取锁进行比较。 可重入锁之释放锁这里我们依然是按照步骤来看看释放锁是如何执行的。 1.首先从入口方法开始:public void unlock() { try { get(unlockAsync(Thread.currentThread().getId()))...
- 引言在上篇中,我们梳理了redisson的可重入锁的加锁流程,而加锁必然就会有锁续期的问题,那么看门狗机制是维持锁续期的关键。因此,在本篇中我们将剖析redisson中的看门狗机制究竟是如何实现的。 利用Watchdog机制异步维持客户端锁看门狗机制是redisson解决锁续期问题而设置的,在前文中我们也有手写过,这里我们看看“正版”的是如何执行的。 1.首先,在获取锁时会触发看门狗机制:... 引言在上篇中,我们梳理了redisson的可重入锁的加锁流程,而加锁必然就会有锁续期的问题,那么看门狗机制是维持锁续期的关键。因此,在本篇中我们将剖析redisson中的看门狗机制究竟是如何实现的。 利用Watchdog机制异步维持客户端锁看门狗机制是redisson解决锁续期问题而设置的,在前文中我们也有手写过,这里我们看看“正版”的是如何执行的。 1.首先,在获取锁时会触发看门狗机制:...
- 引言文件存储已成为一个做任何应用都不可回避的需求。传统的单机文件存储方案在面对大规模数据和高并发访问时往往力不从心,而分布式文件存储系统则提供了更好的解决方案。本篇文章我将基于Spring Boot 3 为大家讲解如何基于MinIO来实现分布式文件存储。 分布式存储的出现在探讨核心内容之前,我们不妨先回顾分布式存储技术是如何伴随系统架构演变发展的。在单体架构早期,文件直接存储于应用服务器中... 引言文件存储已成为一个做任何应用都不可回避的需求。传统的单机文件存储方案在面对大规模数据和高并发访问时往往力不从心,而分布式文件存储系统则提供了更好的解决方案。本篇文章我将基于Spring Boot 3 为大家讲解如何基于MinIO来实现分布式文件存储。 分布式存储的出现在探讨核心内容之前,我们不妨先回顾分布式存储技术是如何伴随系统架构演变发展的。在单体架构早期,文件直接存储于应用服务器中...
- 引言在上篇中,我们基于spring boot整合redisson实现了分布式锁,接下来我会带领大家花一些时间来学习redisson如何实现各种锁,所以我们需要先从github上下载它的源码,本篇则先从可重入锁的相关实现开始来为大家做讲解。 加锁流程分析这里我们按照步骤逐步分析Redisson 可重入锁的加锁流程。 1.首先从入口方法开始 (RLock.lock()):// RLock 接口... 引言在上篇中,我们基于spring boot整合redisson实现了分布式锁,接下来我会带领大家花一些时间来学习redisson如何实现各种锁,所以我们需要先从github上下载它的源码,本篇则先从可重入锁的相关实现开始来为大家做讲解。 加锁流程分析这里我们按照步骤逐步分析Redisson 可重入锁的加锁流程。 1.首先从入口方法开始 (RLock.lock()):// RLock 接口...
- 引言在上个篇章中,我们通过redis手撸了一套分布式锁,但是最后也提到了它依然存在不完美的地方。那么有没有更简单和靠谱的实现方式。当然有,在本篇章中,我们将讲解如何使用redisson框架实现分布式锁以及理解它的源码。 什么是redisson一句话总结-redis的高性能客户端,我们选择它是因为它内部已经封装好了很多锁的实现,详细介绍可以通过redisson的Github主页来查看。 Sp... 引言在上个篇章中,我们通过redis手撸了一套分布式锁,但是最后也提到了它依然存在不完美的地方。那么有没有更简单和靠谱的实现方式。当然有,在本篇章中,我们将讲解如何使用redisson框架实现分布式锁以及理解它的源码。 什么是redisson一句话总结-redis的高性能客户端,我们选择它是因为它内部已经封装好了很多锁的实现,详细介绍可以通过redisson的Github主页来查看。 Sp...
- 引言在03篇中我们讲解了lua脚本的使用(Ps:如果你没跳过的话),目前我们通过api也好,lua脚本也好,已经基于redis实现了分布式锁,但看似完美的它其实还存在一些细节问题,本章节将会带领大家去探索这些细节并完善我们的分布式锁,并且在本章中还会为大家讲解一下“红锁”的算法原理。那么话不多说,开始我们今天的学习。 锁续期问题先来回顾一下: 我们前面为了解决锁因异常情况(例如执行完加锁逻... 引言在03篇中我们讲解了lua脚本的使用(Ps:如果你没跳过的话),目前我们通过api也好,lua脚本也好,已经基于redis实现了分布式锁,但看似完美的它其实还存在一些细节问题,本章节将会带领大家去探索这些细节并完善我们的分布式锁,并且在本章中还会为大家讲解一下“红锁”的算法原理。那么话不多说,开始我们今天的学习。 锁续期问题先来回顾一下: 我们前面为了解决锁因异常情况(例如执行完加锁逻...
- theme: nico 引言在02篇的小结中,为大家指出了我们处理锁误删的代码中存在的问题,但其实只要使用redis来做分布式锁,如果你不能把操作一步完成,不管什么场景可能或多或少都会出问题。所以引出了本篇的内容。在03篇中,我会为大家讲解如何通过Lua脚本来保持redis指令的原子性,从而避免并发问题。友情提示:本篇其实算番外篇,如果你对Lua脚本不感兴趣可以直接跳过,毕竟在实际业务里应... theme: nico 引言在02篇的小结中,为大家指出了我们处理锁误删的代码中存在的问题,但其实只要使用redis来做分布式锁,如果你不能把操作一步完成,不管什么场景可能或多或少都会出问题。所以引出了本篇的内容。在03篇中,我会为大家讲解如何通过Lua脚本来保持redis指令的原子性,从而避免并发问题。友情提示:本篇其实算番外篇,如果你对Lua脚本不感兴趣可以直接跳过,毕竟在实际业务里应...
- 引言在01篇文章中,我们深入探讨了单机锁的多种实现方式,并相信各位读者已经对它们有了较为全面的了解。然而,随着我们对单机锁的深入了解,不难发现它们所固有的一些局限性。因此,从本篇开始,我们将开始探讨分布式锁的相关内容。 认识分布式锁首先,先来看它的概念-控制分布式系统之间同步访问共享资源的一种方式。所以,它需要满足以下四个特性:互斥性、可重入性、锁超时防死锁、锁释放正确防误删。而01篇中提... 引言在01篇文章中,我们深入探讨了单机锁的多种实现方式,并相信各位读者已经对它们有了较为全面的了解。然而,随着我们对单机锁的深入了解,不难发现它们所固有的一些局限性。因此,从本篇开始,我们将开始探讨分布式锁的相关内容。 认识分布式锁首先,先来看它的概念-控制分布式系统之间同步访问共享资源的一种方式。所以,它需要满足以下四个特性:互斥性、可重入性、锁超时防死锁、锁释放正确防误删。而01篇中提...
- Redisson 实现的分布式锁相对于 SETNX 的核心优势在于原子性保障、功能扩展性、可靠性及开发友好性。以下是具体对比分析:一、核心优势对比特性SETNX 实现Redisson 实现优势说明原子性操作需组合 SETNX + EXPIRE 命令,非原子性操作通过 Lua 脚本实现加锁、续期、释放锁的原子性避免竞态条件(如锁超时后业务... Redisson 实现的分布式锁相对于 SETNX 的核心优势在于原子性保障、功能扩展性、可靠性及开发友好性。以下是具体对比分析:一、核心优势对比特性SETNX 实现Redisson 实现优势说明原子性操作需组合 SETNX + EXPIRE 命令,非原子性操作通过 Lua 脚本实现加锁、续期、释放锁的原子性避免竞态条件(如锁超时后业务...
- 鸿蒙微内核,如何撑起未来的万物互联 鸿蒙微内核,如何撑起未来的万物互联
- 🌟【开发经验分享】鸿蒙应用接续功能实战:这些隐藏案例助你实现跨设备丝滑流转!各位开发者小伙伴们好呀~今天在肝项目时意外解锁了HarmonyOS的一个"宝藏技能"——应用接续功能!官方文档里其实藏着超多实用案例,但很多同学可能没注意到。作为踩过无数坑的过来人,我这就把最核心的跨设备接续开发技巧掰开揉碎讲给大家!📱 一、先唠唠这个功能有多香想象这样的场景:你在手机上编辑小红书图文,突然想换平... 🌟【开发经验分享】鸿蒙应用接续功能实战:这些隐藏案例助你实现跨设备丝滑流转!各位开发者小伙伴们好呀~今天在肝项目时意外解锁了HarmonyOS的一个"宝藏技能"——应用接续功能!官方文档里其实藏着超多实用案例,但很多同学可能没注意到。作为踩过无数坑的过来人,我这就把最核心的跨设备接续开发技巧掰开揉碎讲给大家!📱 一、先唠唠这个功能有多香想象这样的场景:你在手机上编辑小红书图文,突然想换平...
- 各位开发者小伙伴们好呀!今天咱们来点硬核干货!最近在鸿蒙文档中心挖到一座“金矿”——官方竟然暗藏了100+实战案例,从分布式架构到交互动效优化应有尽有!这些案例不仅藏着华为工程师的私房技巧,还直接关联实际开发中的高频痛点,比如内存泄漏、跨端适配、服务卡片设计等。我整理了一份超全解读,带你解锁鸿蒙开发的“隐藏Buff”!一、动态布局实战:从折叠屏到多端适配你以为的鸿蒙布局只是Flex和Grid... 各位开发者小伙伴们好呀!今天咱们来点硬核干货!最近在鸿蒙文档中心挖到一座“金矿”——官方竟然暗藏了100+实战案例,从分布式架构到交互动效优化应有尽有!这些案例不仅藏着华为工程师的私房技巧,还直接关联实际开发中的高频痛点,比如内存泄漏、跨端适配、服务卡片设计等。我整理了一份超全解读,带你解锁鸿蒙开发的“隐藏Buff”!一、动态布局实战:从折叠屏到多端适配你以为的鸿蒙布局只是Flex和Grid...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢
2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考
2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本
2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签