Split lru-cache

pull/5/head
Amio 2018-06-30 01:34:06 +08:00
rodzic b3cde124ad
commit e54b2c78df
3 zmienionych plików z 33 dodań i 27 usunięć

23
libs/lru-cache.js 100644
Wyświetl plik

@ -0,0 +1,23 @@
const LRU = require('lru-cache')
const cache = new LRU({ max: 1000 })
function cleanCache (req, res) {
const count = cache.length
const keys = cache.keys().join('\n')
cache.reset()
res.writeHead(200)
res.end(`Cleaned ${count}\n${keys}`)
}
function listCache (req, res) {
res.writeHead(200)
res.end(`Total ${cache.length}\n${cache.keys().join('\n')}`)
}
module.exports = {
cache,
listCache,
cleanCache
}

Wyświetl plik

@ -1,7 +1,5 @@
const badgen = require('badgen')
const LRU = require('lru-cache')
const cache = new LRU({ max: 1000 })
const { cache } = require('./lru-cache.js')
function serveBadge (req, res, params) {
const result = cache.get(req.url) || badgen(params)
@ -20,23 +18,7 @@ function serveListBadge (req, res, params) {
serveBadge(req, res, { subject, status: status.replace(/,/g, ' | '), color })
}
function cleanCache (req, res) {
const count = cache.length
const keys = cache.keys().join('\n')
cache.reset()
res.writeHead(200)
res.end(`Cleaned ${count}\n${keys}`)
}
function listCache (req, res) {
res.writeHead(200)
res.end(`Total ${cache.length}\n${cache.keys().join('\n')}`)
}
module.exports = {
serveBadge,
serveListBadge,
cleanCache,
listCache
serveListBadge
}

Wyświetl plik

@ -1,16 +1,17 @@
const http = require('http')
const cors = require('@amio/micro-cors')()
const router = require('find-my-way')()
const handlers = require('./libs/handlers.js')
const serveIndex = require('./libs/serve-index.js')
const { serveBadge, serveListBadge } = require('./libs/serve-badge.js')
const { listCache, cleanCache } = require('./libs/lru-cache.js')
router.get('/badge/:subject/:status', handlers.serveBadge)
router.get('/badge/:subject/:status/:color', handlers.serveBadge)
router.get('/list/:subject/:status', handlers.serveListBadge)
router.get('/list/:subject/:status/:color', handlers.serveListBadge)
router.get('/badge/:subject/:status', serveBadge)
router.get('/badge/:subject/:status/:color', serveBadge)
router.get('/list/:subject/:status', serveListBadge)
router.get('/list/:subject/:status/:color', serveListBadge)
router.get('/clean-cache', handlers.cleanCache)
router.get('/list-cache', handlers.listCache)
router.get('/clean-cache', cleanCache)
router.get('/list-cache', listCache)
router.get('/', serveIndex)