一. 缓存:将常用的数据进行存储,以提升性能
硬件缓存
浏览器缓存
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删除缓存对象中存储的值
三. 使用缓存解决斐波那契数列的性能问题:
就是将已经计算过的数字缓存进一个数组中,下次再来访问的时候,直接在数组中查找,如果找到,直接使用,如果没有找到,计算后将数字存入数组,然后返回该数字。