我看了这个链接,官方就分布式锁的实现上,java的就是redission
来源:4-20 观摩一下大神们对高可用分布式锁的争论

洪小才
2023-03-20
那也就是红锁这种算法,已经内嵌到redission里面了,这样的理解对吗?
还有,我看网络上经常有人把redlock和redisssion分开来?
我这边梳理我的知识点,就是如果是单个redis的话,使用redison是单节点,那么使用多节点的话,redission里面是有不同模式可以挑选?默认是走红锁吗?
还请老师解答一下
传送门就是课堂对应的链接地址现在转发的实际地址:
redis分布式锁
写回答
1回答
-
我们从官网的这段话就可以看到,Redlock是一种用Redis来实现分布式锁的算法
而 Redisson - Redis Java client,是一个操作Redis的客户端,并且它对Redlock算法进行了实现。也就是它不仅仅是Redlock算法的实现,它还包含很多其他的功能。
并且,我们从 Redisson github主页介绍可以看到:
也就是它可以支持各种模式,包括单机、主从、哨兵、集群。
而具体使用哪种模式,是根据我们的部署情况来决定的,并在在代码里面连接Redis的时候就进行指定。
RedissonClient redisson = Redisson.create(); Config config = new Config(); config.useSingleServer() // 单机 .setAddress("127.0.0.1:6379"); RedissonClient redisson = Redisson.create(config); Config config = new Config(); config.useMasterSlaveServers() // 主从 .setMasterAddress("redis://127.0.0.1:6379") .addSlaveAddress("redis://127.0.0.1:6389"); RedissonClient redisson = Redisson.create(config); Config config = new Config(); config.useSentinelServers() //哨兵 .setMasterName("mymaster") .addSentinelAddress("redis://127.0.0.1:26389","redis://127.0.0.1:26379") .addSentinelAddress("redis://127.0.0.1:26319"); RedissonClient redisson = Redisson.create(config); Config config = new Config(); config.useClusterServers() // 集群 .setScanInterval(2000) .addNodeAddress("redis://127.0.0.1:7000", "redis://127.0.0.1:7001") .addNodeAddress("redis://127.0.0.1:7002"); RedissonClient redisson = Redisson.create(config);
10
相似问题