Skip to main content

基于 Localstorage 设计一个 1M 的缓存系统,需要实现缓存淘汰机制

tip

设计思路如下:

存储的每个对象需要添加两个属性:分别是过期时间和存储时间。

利用一个属性保存系统中目前所占空间大小,每次存储都增加该属性。当该属性值大于 1M 时,需要按照时间排序系统中的数据,删除一定量的数据保证能够存储下目前需要存储的数据。

每次取数据时,需要判断该缓存数据是否过期,如果过期就删除。

以下是代码实现,实现了思路,但是可能会存在 Bug,但是这种设计题一般是给出设计思路和部分代码,不会需要写出一个无问题的代码

代码如下:

作者:yck0 链接:https://juejin.cn/post/6844903598707441672 来源:掘金