SpringBoot如何编写示例代码实现Redis分布式锁?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2151个文字,预计阅读时间需要9分钟。
前言+最近在做的区块链业务,使用了Redis来维护上传过程中的区块链编号。+每次上传完成一个区块,就获取一下文本文件的区块集合,加入新的编号,手动接口测试下是没有问题的,前端“
前言
最近在做分块上传的业务,使用到了Redis来维护上传过程中的分块编号。
每上传完成一个分块就获取一下文件的分块集合,加入新上传的编号,手动接口测试下是没有问题的,前端通过并发上传调用就出现问题了,并发的get再set,就会存在覆盖写现象,导致最后的分块数据不对,不能触发分块合并请求。
遇到并发二话不说先上锁,针对执行代码块加了一个JVM锁之后问题就解决了。
仔细一想还是不太对,项目是分布式部署的,做了负载均衡,一个节点的代码被锁住了,请求轮询到其他节点还是可以进行覆盖写,并没有解决到问题啊
没办法,只有用上分布式锁了。之前对于分布式锁的理论还是很熟悉的,没有比较好的应用场景就没写过具体代码,趁这个机会就学习使用一下分布式锁。
理论
分布式锁是控制分布式系统之间同步访问共享资源的一种方式。
本文共计2151个文字,预计阅读时间需要9分钟。
前言+最近在做的区块链业务,使用了Redis来维护上传过程中的区块链编号。+每次上传完成一个区块,就获取一下文本文件的区块集合,加入新的编号,手动接口测试下是没有问题的,前端“
前言
最近在做分块上传的业务,使用到了Redis来维护上传过程中的分块编号。
每上传完成一个分块就获取一下文件的分块集合,加入新上传的编号,手动接口测试下是没有问题的,前端通过并发上传调用就出现问题了,并发的get再set,就会存在覆盖写现象,导致最后的分块数据不对,不能触发分块合并请求。
遇到并发二话不说先上锁,针对执行代码块加了一个JVM锁之后问题就解决了。
仔细一想还是不太对,项目是分布式部署的,做了负载均衡,一个节点的代码被锁住了,请求轮询到其他节点还是可以进行覆盖写,并没有解决到问题啊
没办法,只有用上分布式锁了。之前对于分布式锁的理论还是很熟悉的,没有比较好的应用场景就没写过具体代码,趁这个机会就学习使用一下分布式锁。
理论
分布式锁是控制分布式系统之间同步访问共享资源的一种方式。

