|
@@ -2,6 +2,7 @@ const API = require("../../lib/API")
|
|
|
const AccessControl = require("../../lib/AccessControl")
|
|
|
const { BaseStdResponse } = require("../../BaseStdResponse")
|
|
|
const db = require("../../plugin/DataBase/db")
|
|
|
+const redis = require('../../plugin/DataBase/Redis')
|
|
|
const simpleGit = require('simple-git')
|
|
|
const fs = require("fs")
|
|
|
const path = require("path")
|
|
@@ -173,6 +174,13 @@ class gitCodeStats extends API {
|
|
|
msg: '仓库未成功克隆!'
|
|
|
})
|
|
|
|
|
|
+ const cachedCodeStats = await redis.get(`codeStats:${r[0].path}`)
|
|
|
+ if(cachedCodeStats)
|
|
|
+ return res.json({
|
|
|
+ ...BaseStdResponse.OK,
|
|
|
+ data: JSON.parse(cachedCodeStats)
|
|
|
+ })
|
|
|
+
|
|
|
let totalLines = 0
|
|
|
let languageStats = {}
|
|
|
try {
|
|
@@ -206,12 +214,14 @@ class gitCodeStats extends API {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
+ const data = { totalLines, languageStats }
|
|
|
+
|
|
|
res.json({
|
|
|
...BaseStdResponse.OK,
|
|
|
- data: {
|
|
|
- totalLines,
|
|
|
- languageStats
|
|
|
- }
|
|
|
+ data
|
|
|
+ })
|
|
|
+ redis.set(`codeStats:${r[0].path}`, JSON.stringify(data), {
|
|
|
+ EX: 172800
|
|
|
})
|
|
|
}
|
|
|
}
|