JSPM

hypercore-cache

1.0.2
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 317
  • Score
    100M100P100Q103237F
  • License MIT

A caching module for Hypercore tree nodes and blocks

Package Exports

  • hypercore-cache

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (hypercore-cache) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

hypercore-cache

Build Status

A caching module for Hypercore tree nodes and blocks.

This module mplements the hashlru algorithm internally for LRU caching, but it uses byte length estimates instead of the entry count for eviction.

Installation

npm i hypercore-cache --save

API

const cache = new HypercoreCache(opts = {})

Creates a new cache.

Options can include:

{
  maxByteSize: 1e6,  // The soft maximum size of the cache (actual max size can go up to 2x this value).
  estimateSize: val => { ... },  // A function from a value to its size estimate.
  onEvict: (evicted) => { ... }  // A hook that's called when stale entries (a Map) have been evicted.
}

cache.set(key, value)

Sets key to value.

cache.get(key)

Gets the value for key.

cache.del(key)

Deletes key from the cache.

const subCache = cache.namespace()

Creates a namespaced sub-cache which mirrors the hypercore-cache API.

This is useful if you want to create a single cache instance that manages resources for multiple hypercores.

License

MIT