Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | 15x 15x 15x 15x 15x | class LRU { constructor(crowi) { this.crowi = crowi this.max = 10 this.client = null Iif (this.crowi && this.crowi.redis) { this.client = this.crowi.redis } } removeByRange(namespace, max) { if (this.client) { return new Promise((resolve, reject) => { this.client.zremrangebyrank(namespace, 0, max, (err, response) => { if (err) reject(err) resolve(response) }) }) } } async add(namespace, key) { if (this.client) { await this.removeByRange(namespace, -this.max - 1) return new Promise((resolve, reject) => { this.client.zadd(namespace, Date.now(), key, (err, response) => { if (err) reject(err) resolve(response) }) }) } } range(namespace, limit = 0) { if (this.client) { return new Promise((resolve, reject) => { this.client.zrevrange(namespace, 0, limit - 1, (err, response) => { if (err) reject(err) resolve(response) }) }) } } get(namespace, limit) { if (this.client) { return this.range(namespace, limit) } } } module.exports = LRU |