美文网首页我爱编程
基于redis的分布式锁

基于redis的分布式锁

作者: 木驴的天空 | 来源:发表于2018-05-17 23:40 被阅读21次

    分布式锁实现方案

    • 基于数据库实现分布式锁
    • 基于缓存(redis,memcached,tair)实现分布式锁
    • 基于Zookeeper实现分布式锁

    分布式锁注意的问题

    • 客户端在使用锁的过程中可能因为这样或那样的原因掉线,为了防止客户端获取锁之后崩溃,并导致锁一直处于“已被获取”的状态,锁必须带有超时特性,获取锁的进程如果未能在指定的时间内完成操作,那么锁将自动释放。
    • 持有锁的进程可能因为执行时间过长,已经获取的锁因为超时而被自动释放,但是该进程本身并不知情,甚至还可能释放掉其他进程的锁(超时之后可能已经由其他进程获得)。
    • 在一个进程持有锁过期之后,其他多个进程同时尝试去获取锁,并且都获得了锁。

    参考文献

    redis官方分布式锁实现推荐--包含各种语言的实现
    分布式锁原理及实现方式

    相关文章

      网友评论

        本文标题:基于redis的分布式锁

        本文链接:https://www.haomeiwen.com/subject/sbfwdftx.html