node代理层
用下面三个方法进行优化:
- 按需加载 -> graphQL
- 数据缓存 -> redis
- 轮询更新 -> schedule
1.graphQL按需加载数据只需要三步:
- 定义数据池 root
- 描述数据池中数据结构 schema
- 自定义查询数据 query
2.使用redis缓存
redis来缓存接口的聚合数据,下次再调用接口,直接从缓存中获取数据即可,避免高耗时的复杂调用
3.node-schedule定时更新缓存
const schedule = require('node-schedule');const { promisify } = require("util");const redis = require("redis");const client = redis.createClient(6379, '127.0.0.1');// promise化const setAsync = promisify(client.set).bind(client);// 每个小时更新一次缓存schedule.scheduleJob('* * 0 * * *', async () => {const data = require('./girls.json');// 设置redis缓存数据await setAsync("缓存", JSON.stringify(data));});console.log('每个小时更新一次缓存');
