请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

分布式锁+redis集群的问题

图片描述

reids 变成 集群之后,好像就不支持lua脚本的在多个 solt使用了。我们的锁恰好就是使用的lua脚本去做的。
所以我们需要根据上述规则去魔改我们的锁脚本吗?我看到 redisson 是没有这样做的。

正在回答

1回答

这样做是比较简单的,还有一种就做就是它会提示一个脚本的异常,然后去捕捉这个异常,在重新将脚本缓存起来

0 回复 有任何疑惑可以回复我~
  • 提问者 linux_Leo #1
    谢谢老师,第一个方法我能理解了。那二种“重新将脚本缓存起来..."缓存起来之后所有的分支都执行一遍?具体是怎么实现的呢。还有一个小问题reids 变成 cluster集群之后,其实很多实现细节都屏蔽了,比如get的时候就是用key hash一下定位到对应slot去拿。我们代码去兼容集群意义是什么呢?直接当成单机版用不好吗
    回复 有任何疑惑可以回复我~ 2021-04-06 21:27:42
  • InCowboy 回复 提问者 linux_Leo #2
    那个捕捉异常的可以到网上去搜一下,我是之前看到过,用集群的目的还是增强redis的处理能力和稳定性,其实一般情况下单机版的redis也可以了,具体可以测一下公司项目的有多大的并发或者想支持多大并发
    回复 有任何疑惑可以回复我~ 2021-04-06 23:26:01
  • 提问者 linux_Leo 回复 InCowboy #3
    是这样的,公司已经是腾讯云的集群版redis了。我的意思是,代码是否一定做额外的配置(clusterServersConfig)。因为今天运维小哥告诉我们,腾讯云只给一个ip地址给我们,而不是课程配置的多个。
    回复 有任何疑惑可以回复我~ 2021-04-07 01:36:57
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信