// WriteCached returns a blockstore that caches up to |size| unique writes (bs.Put). func WriteCached(bs Blockstore, size int) (Blockstore, error) { c, err := lru.New(size) if err != nil { return nil, err } return &writecache{blockstore: bs, cache: c}, nil }
// NewDatastore constructs a new LRU Datastore with given capacity. func NewDatastore(capacity int) (*Datastore, error) { cache, err := lru.New(capacity) if err != nil { return nil, err } return &Datastore{cache: cache}, nil }