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