今天在写项目时遇到一个问题,使用springboot的监听器监听数据库的一个字段是否变化,并执行一系列操作。同时主程序运行时也根据这个数据库字段做同样的操作。说是为了防止主程序对数据库操作失败,结果造成的结果是,该操作会执行两次。我想创建一个公共锁,两个程序根据同样的数据拿到一样的锁(锁的类型是string类型,相同数据一样的内容当作锁),这样一个进入,另一个就不会进入,但似乎不支持跨程序锁,有啥方法解决吗?
3条回答 默认 最新
pzzhao 2022-12-23 20:12关注如果你的服务是多示例部署的可以采用分布式锁,具体通过redis或者ZooKeeper或者数据库来实现,可以根据自己的实际情况来。
也可以参考这个博客里面分布式锁的实现 https://blog.csdn.net/m0_67645544/article/details/124768505本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录