0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

手***了个Redis分布式锁

小林coding 来源:小林coding 作者:小林coding 2022-11-03 14:44 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

面过大厂的人都知道,分布式基本上是必考点。而面试只要问到分布式,必问分布式锁。

毕竟在当前互联网,分布式、高并发已经是业务要求的常态。而在分布式场景中,分布式锁是解决数据一致性和安全性的一个重要手段。

实现分布式锁的方式有很多,其中 Redis 是最常见的一种。而相较于 Java + Redis 的方案,我个人更倾向于Go+Redis,从编程难易程度上来说,要简单得多。

比如 Go 里面有以下特性可用:

context:可以同时监听超时、用户主动取消,或者在重试的时候触发重试时机

channel+select:可以同时监听多个信号。其实 context 也会发送超时信号,或者用户主动取消信号

Go还支持了singleflight,所以也不需要自己写

另外,Go goroutine 非常轻量,可以在分布式锁里面随便开。

以下面的 demo 为例,里面一大堆的“select - case”,即便 Go 有这些工具可用,看起来依旧很复杂。

6de1e1bc-5b3b-11ed-a3b6-dac502259ad0.png

那么,问题来了:

如何用 Go+Redis 实现一个生产环境可用的分布式锁?

里面有哪些细节需要关注?

怎么设计测试用例,完成测试?

又要怎么优化写出来的分布式锁的性能?

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    90

    文章

    3707

    浏览量

    96736
  • Redis
    +关注

    关注

    0

    文章

    390

    浏览量

    12042

原文标题:手撸了个 Redis 分布式锁,我悟了!

文章出处:【微信号:小林coding,微信公众号:小林coding】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【节能学院】Acrel-1000DP分布式光伏监控系统在奉贤平高食品 4.4MW 分布式光伏中应用

    分布式光伏本地和远程通信方案,并研究分布式光伏采集模型的构建、多源数据融合估计、面向分布式光伏的有功、无功功率优化控制等关键技术,实现对小容量工商业
    的头像 发表于 08-23 08:04 3300次阅读
    【节能学院】Acrel-1000DP<b class='flag-5'>分布式</b>光伏监控系统在奉贤平高食品 4.4MW <b class='flag-5'>分布式</b>光伏中应用

    分布式光伏发电监测系统技术方案

    分布式光伏发电监测系统技术方案 柏峰【BF-GFQX】一、系统目标 :分布式光伏发电监测系统旨在通过智能化的监测手段,实现对分布式光伏电站的全方位、高精度、实时化管理。该系统能
    的头像 发表于 08-22 10:51 2877次阅读
    <b class='flag-5'>分布式</b>光伏发电监测系统技术方案

    Redis集群部署配置详解

    Redis集群是一种分布式Redis解决方案,通过数据分片和主从复制实现高可用性和横向扩展。集群将整个数据集分割成16384哈希槽(hash slots),每个节点负责一部分槽位。
    的头像 发表于 07-17 11:04 583次阅读

    分布式光伏总出问题?安科瑞分布式光伏监控系统来“救场”

    一、分布式光伏的痛点大揭秘 在 “双碳” 目标的大力推动下,分布式光伏作为绿色能源领域的重要力量,正以前所未有的速度蓬勃发展,越来越多的企业和家庭选择安装分布式光伏系统。然而,随着分布式
    的头像 发表于 07-16 16:50 613次阅读
    <b class='flag-5'>分布式</b>光伏总出问题?安科瑞<b class='flag-5'>分布式</b>光伏监控系统来“救场”

    双电机分布式驱动汽车高速稳定性机电耦合控制

    摘要:为了利用所设计的双电机防滑差速驱动系统来提高分布式驱动汽车的动力学性能,在前期同轴耦合驱动控制理论研究的基础上,开展该车的高速稳定性机电耦合控制研究。建立并验证包含所设计驱动系统在内的分布式
    发表于 06-18 16:37

    曙光存储领跑中国分布式存储市场

    近日,赛迪顾问发布《中国分布式存储市场研究报告(2025)》,指出2024 年中国分布式存储市场首次超过集中式存储,规模达 198.2 亿元,增速 43.7%。
    的头像 发表于 05-19 16:50 1005次阅读

    使用VirtualLab Fusion中分布式计算的AR波导测试图像模拟

    总计算时间超过31小时。通过使用一由8多核PC组成的网络,提供35客户端分布式计算,将模拟时间减少到1小时5分钟。基本模拟任务基本任务集合:FOV使用
    发表于 04-10 08:48

    分布式光伏发运维系统实际应用案例分享

    和可持续发展的重要推动力量。国家能源局于2025年1月发布分布式光伏发电开发建设管理办法》,对分布式光伏的分类、上网模式、备案管理、电网接入等进行了详细规定,未来分布式光伏将进一步
    的头像 发表于 04-09 14:46 986次阅读
    <b class='flag-5'>分布式</b>光伏发运维系统实际应用案例分享

    分布式光伏如何实现防逆流?

    分布式光伏如何实现防逆流
    的头像 发表于 03-24 13:31 589次阅读
    <b class='flag-5'>分布式</b>光伏如何实现防逆流?

    浅谈分布式光伏系统在工业企业的设计及应用

    主要对工业厂区屋顶分布式光伏发电系统的设计及应用进行研究,为工业厂区能源供应提供一种全新的解决思路和技术支持。介绍工业厂区屋顶分布式光伏系统及其优势,分析工业厂区屋顶
    的头像 发表于 03-21 14:24 722次阅读
    浅谈<b class='flag-5'>分布式</b>光伏系统在工业企业的设计及应用

    铁塔基站分布式储能揭秘!

    的正常运转。为了解决这些问题,安科瑞推出了基站铁塔分布式储能解决方案,为基站的稳定供电提供可靠的保障。 一、什么是基站铁塔分布式储能? 基站铁塔分布式储能系统是一种将储能电池
    的头像 发表于 02-12 16:42 1342次阅读
    铁塔基站<b class='flag-5'>分布式</b>储能揭秘!

    分布式云化数据库有哪些类型

    分布式云化数据库有哪些类型?分布式云化数据库主要类型包括:关系型分布式数据库、非关系型分布式数据库、新SQL分布式数据库、以列方式存储数据、
    的头像 发表于 01-15 09:43 863次阅读

    基于ptp的分布式系统设计

    在现代分布式系统中,精确的时间同步对于确保数据一致性、系统稳定性和性能至关重要。PTP(Precision Time Protocol)是一种网络协议,用于在分布式系统中实现高精度的时间同步
    的头像 发表于 12-29 10:09 961次阅读

    HarmonyOS Next 应用元服务开发-分布式数据对象迁移数据文件资产迁移

    提供async版本供该场景使用。 当前,wantParams中“sessionId”字段在迁移流程中被系统占用,建议开发者在wantParams中定义其他key值存储该分布式数据对象生成的id,避免
    发表于 12-24 10:11

    HarmonyOS Next 应用元服务开发-分布式数据对象迁移数据权限与基础数据

    提供async版本供该场景使用。 当前,wantParams中“sessionId”字段在迁移流程中被系统占用,建议开发者在wantParams中定义其他key值存储该分布式数据对象生成的id,避免
    发表于 12-24 09:40