摘要:
链表 Leetcode146 题目:设计一个LRU类。 题解:Java采用LinkedHashMap,重载removeEldestEntry即可;或采用HashMap + 双链表方式,通过HashMap查询对应节点,双链表查询对应位置,进行操作。 深度优先搜索 人生经验 1. 需要输出所有解、并由于 阅读全文
摘要:
上节提到了,分布式锁通常应满足如下要求,互斥性、高可用、高效率、可重入、锁失效这五个基本原则。由于Redis自身“快”的特点,所以高效率可以看作满足。 下文在单机情况下与多机情况下,对利用Redis实现分布式锁做出了阐述。 单机Redis分布式锁 由于Redis本身的单线程特性,所以可以采用设置一个 阅读全文
摘要:
为什么需要分布式锁 Martin Kleppmann是英国剑桥大学的分布式系统的研究员,Martin认为一般我们使用分布式锁有两个场景: 效率:使用分布式锁可以避免不同节点重复相同的工作,这些工作会浪费资源。比如用户付了钱之后有可能不同节点会发出多封短信。 正确性:加分布式锁同样可以避免破坏正确性的 阅读全文