闭包缓存

来源:互联网 发布:欧洲史 知乎 bbc 编辑:程序博客网 时间:2024/06/05 23:50

一. 缓存:将常用的数据进行存储,以提升性能

硬件缓存浏览器缓存CDN(content delivery network)  //内容分发网络,使用缓存技术内存性数据库(mongodb数据库)

二. 如何用闭包实现缓存:

1.写一个闭包,在闭包中创建一个对象用来做缓存的存储对象
2.在闭包中创建一个数组,用来存储缓存中的键
3.返回一个函数,这个函数需要两个参数,一个是key,一个是value
4.在返回的函数中,判断传入的value是否为undefined
5.如果为undefined,则表示是获取值,直接返回缓存对象,再返回在第一步创建的缓存对象中指定的键对应的值
6.如果不为undefined,则表示是设置值,在缓存对象中设置指定的key的值为value
7.把key加入存储key的数组
8.判断key数组是不是超出了缓存大小限制
9.如果超出限制,删除数组第一个元素,使用shift,获取到删除的key
10.使用删除的key删除缓存对象中存储的值

三. 使用缓存解决斐波那契数列的性能问题:

就是将已经计算过的数字缓存进一个数组中,下次再来访问的时候,直接在数组中查找,如果找到,直接使用,如果没有找到,计算后将数字存入数组,然后返回该数字。