在开发的收入结转平台界面上有一个归集按钮,可以实现抓取结转表里面的多条数据进行归集操作。为了防止多人多电脑同时操作一条数据,我们自己开发了一个简单的基于Redis实现的分布式锁。
代码实现逻辑代码中的使用案例
参数说明:
scIds:结转数据的ID主键集合。
timeOutToDeleteRedisKey:最大锁超时时间(用于自动解锁)
organizationId:租户ID(这个参数根据情况选择是否需要)
Redis加锁方法封装
getLockByIds
批量获取每一条数据的Redis锁
解锁
实现效果当对数据进行批量加锁的时候,若在加锁的过程中出现加锁失败,则回滚直接加的锁,并提示"归集数据有程序正在运行,请稍候刷新页面重试"。
若业务代码逻辑执行成功或者执行报错都会自动的解锁当前加锁的数据。
到此这篇关于利用Redis对批量数据实现分布式锁的文章就介绍到这了,更多相关Redis分布式锁内容请搜索七叶笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持七叶笔记!