Buckets:
| class LRUCache { | |
| constructor () { | |
| this.max = 1000 | |
| this.map = new Map() | |
| } | |
| get (key) { | |
| const value = this.map.get(key) | |
| if (value === undefined) { | |
| return undefined | |
| } else { | |
| // Remove the key from the map and add it to the end | |
| this.map.delete(key) | |
| this.map.set(key, value) | |
| return value | |
| } | |
| } | |
| delete (key) { | |
| return this.map.delete(key) | |
| } | |
| set (key, value) { | |
| const deleted = this.delete(key) | |
| if (!deleted && value !== undefined) { | |
| // If cache is full, delete the least recently used item | |
| if (this.map.size >= this.max) { | |
| const firstKey = this.map.keys().next().value | |
| this.delete(firstKey) | |
| } | |
| this.map.set(key, value) | |
| } | |
| return this | |
| } | |
| } | |
| module.exports = LRUCache | |
Xet Storage Details
- Size:
- 802 Bytes
- Xet hash:
- 5862946864c87f990f7b87e3dcfd7585ea3505fb4d52e10fc4ebf3698ff0742c
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.