Browse Source

lru-cache => lru-cache-static

test
Amio 6 years ago
parent
commit
4735a64511
  1. 27
      libs/lru-cache-live.js
  2. 14
      libs/lru-cache-static.js
  3. 2
      libs/serve-badge.js
  4. 23
      libs/setup-live-badge.js
  5. 12
      libs/setup-static-badge.js
  6. 12
      service.js

27
libs/lru-cache-live.js

@ -0,0 +1,27 @@
const LRU = require('lru-cache')
const cache = LRU({
max: 5000,
maxAge: 3e4,
stale: true
})
function listCache (req, res) {
res.writeHead(200)
res.end(`Total ${cache.length}\n${cache.keys().join('\n')}`)
}
function clearCache (req, res) {
const count = cache.length
const keys = cache.keys().join('\n')
cache.reset()
res.writeHead(200)
res.end(`Cleaned ${count}\n${keys}`)
}
module.exports = {
cache,
listCache,
clearCache
}

14
libs/lru-cache.js → libs/lru-cache-static.js

@ -2,7 +2,12 @@ const LRU = require('lru-cache')
const cache = new LRU({ max: 1000 }) const cache = new LRU({ max: 1000 })
function cleanCache (req, res) { function listCache (req, res) {
res.writeHead(200)
res.end(`Total ${cache.length}\n${cache.keys().join('\n')}`)
}
function clearCache (req, res) {
const count = cache.length const count = cache.length
const keys = cache.keys().join('\n') const keys = cache.keys().join('\n')
cache.reset() cache.reset()
@ -11,13 +16,8 @@ function cleanCache (req, res) {
res.end(`Cleaned ${count}\n${keys}`) 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 = { module.exports = {
cache, cache,
listCache, listCache,
cleanCache clearCache
} }

2
libs/serve-badge.js

@ -1,5 +1,5 @@
const badgen = require('badgen') const badgen = require('badgen')
const { cache } = require('./lru-cache.js') const { cache } = require('./lru-cache-static.js')
function serveBadge (req, res, params) { function serveBadge (req, res, params) {
const result = cache.get(req.url) || badgen(params) const result = cache.get(req.url) || badgen(params)

23
libs/setup-live-badge.js

@ -1,11 +1,5 @@
const LRU = require('lru-cache')
const liveFns = require('./live-fns/index.js') const liveFns = require('./live-fns/index.js')
const { cache, listCache, clearCache } = require('./lru-cache-live.js')
const cache = LRU({
max: 5000,
maxAge: 3e4,
stale: true
})
module.exports = function (router) { module.exports = function (router) {
Object.entries(liveFns).forEach(([key, fn]) => { Object.entries(liveFns).forEach(([key, fn]) => {
@ -23,19 +17,8 @@ module.exports = function (router) {
}) })
}) })
router.get('/list-cache-live', (req, res) => { router.get('/list-cache-live', listCache)
res.writeHead(200) router.get('/clear-cache-live', clearCache)
res.end(`Total ${cache.length}\n${cache.keys().join('\n')}`)
})
router.get('/clear-cache-live', (req, res) => {
const count = cache.length
const keys = cache.keys().join('\n')
cache.reset()
res.writeHead(200)
res.end(`Cleaned ${count}\n${keys}`)
})
} }
async function fetchLiveParams (key, paramsPath, fn) { async function fetchLiveParams (key, paramsPath, fn) {

12
libs/setup-static-badge.js

@ -0,0 +1,12 @@
const { serveBadge, serveListBadge } = require('./serve-badge.js')
const { listCache, clearCache } = require('./lru-cache-static.js')
module.exports = function (router) {
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('/list-cache-static', listCache)
router.get('/clear-cache-static', clearCache)
}

12
service.js

@ -2,19 +2,11 @@ const http = require('http')
const cors = require('@amio/micro-cors')() const cors = require('@amio/micro-cors')()
const router = require('find-my-way')() const router = require('find-my-way')()
const serveIndex = require('./libs/serve-index.js') const serveIndex = require('./libs/serve-index.js')
const { serveBadge, serveListBadge } = require('./libs/serve-badge.js')
const { listCache, cleanCache } = require('./libs/lru-cache.js')
const setupLiveBadge = require('./libs/setup-live-badge.js') const setupLiveBadge = require('./libs/setup-live-badge.js')
const setupStaticBadge = require('./libs/setup-static-badge.js')
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)
setupLiveBadge(router) setupLiveBadge(router)
setupStaticBadge(router)
router.get('/clean-cache', cleanCache)
router.get('/list-cache', listCache)
router.get('/', serveIndex) router.get('/', serveIndex)

Loading…
Cancel
Save