2019年10月26日

摘要: 层次遍历递归和非递归方法 如何遍历一棵树 有两种通用的遍历树的策略: 深度优先搜索(DFS) 深度优先搜索(DFS) 在这个策略中,我们采用深度作为优先级,以便从跟开始一直到达某个确定的叶子,然后再返回根到达另一个分支。 深度优先搜索策略又可以根据根节点、左孩子和右孩子的相对顺序被细分为先序遍历,中 阅读全文
posted @ 2019-10-26 21:53 kexinxin 阅读(5017) 评论(0) 推荐(0) 编辑
摘要: redis和数据库的缓存一致性问题 缓存的读取流程 缓存更新策略 按照数据库和缓存的更新顺序有两种更新策略:(1)先更新数据库,再更新缓存;(2)先删除缓存,再更新数据库。(3)先更新数据库,再删缓存 先更新数据库,再更新缓存 这套方案,大家是普遍反对的。为什么呢?有如下两点原因。 原因一(线程安全 阅读全文
posted @ 2019-10-26 21:29 kexinxin 阅读(827) 评论(0) 推荐(0) 编辑
摘要: redis分布式锁 单机版本 为什么要使用锁? 第一个是正确性,这个众人皆知。就像Java里的synchronize,就是用来保证多线程并发场景下,程序的正确性。JVM里需要保证并发访问的正确性,在分布式系统里面,也同样需要,只不过并发访问的单位,不再是线程,而是进程。 举个例子,一个文件系统,为了 阅读全文
posted @ 2019-10-26 15:51 kexinxin 阅读(376) 评论(23) 推荐(0) 编辑

导航