KV storage based on LocalStorage.
Cache requests with localStorage in the browser.
# nodejs
npm i -S lsdis
Or
<!-- browser -->
<script src='https://cdn.jsdelivr.net/npm/lsdis@latest/dist/lsdis.min.js'></script>
- Local storage API
- Cache wrapper
- Cache invalidate
import LocalStorage from 'lsdis'
const storage = new LocalStorage()
const mykey = 'mykey'
const myval = 'myval'
const timeoutMs = 1000
// set value with timeout(/ms)
storage.set(mykey, myval, timeoutMs)
// if not existed, return null else return string
storage.get(mykey)
// delete by key
storage.del(mykey)
// flush all localstorage
storage.flush()
import { LocalCache } from 'lsdis'
function getUser(username: string) {
// fetch request data
return { username }
}
const timeoutMs = 1000
const cache = new LocalCache({ timeout: timeoutMs })
const username = 'myname'
async function main() {
// wrapper by key with function and args
const result = await cache.wrapper(`getUser:${username}`, getUser, username)
console.log(result)
// wrapper by key with function
const resultAsync = await cache.wrapper(`getUser:${username}`, async () => getUser(username))
console.log(resultAsync)
}