【系统设计】数据结构选型:内存与磁盘

问题背景描述要解决的问题:如何在不同的硬件限制(内存 vs 磁盘)和业务需求(多读 vs 多写 vs 范围查询)下,最快地找到数据? 可以把这个问题拆解为两个维度来理解: 存储介质维度: 内存(RAM): 访问极快,但空间有限。重点在于算法的CPU计算复杂度(如红黑树、跳表)。 磁盘(Disk/SSD): 访问慢,IO成本高。重点在于减少磁盘IO次数和利用顺序读写(如B+树、LS...

【算法】缓存淘汰算法LRU/LFU

无论是什么系统,在研发的过程中不可避免的会使用到缓存,而缓存一般来说我们不会永久存储,但是缓存的内容是有限的,那么我们如何在有限的内存空间中,尽可能的保留有效的缓存信息呢? 那么我们就可以使用 LRU/LFU算法 ,来维持缓存中的信息的时效性。 LRU 详解原理 LRU (Least Recently Used:最近最少使用)算法在缓存写满的时候,会根据所有数据的访问记录,淘汰掉未来被访问几...

【LeeCode】刷题记录.md

作者:力扣官方题解 来源:力扣(LeetCode) LeeCode热题10049、字母异位词分组(中)https://leetcode.cn/problems/group-anagrams/solutions/520469/zi-mu-yi-wei-ci-fen-zu-by-leetcode-solut-gyoc/ 题面给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺...