Simple object cacher for R. storr
acts as a very simple key-value store (supporting get
/set
/del
for arbitrary R objects as data). The actual storage can be transient or persistent, local or distributed without changing the interface. To allow for distributed access, data is returned by content rather than simply by key (with a key/content lookup step) so that if another process changes the data, storr
will retrieve the current version.
storr
always goes back to the common storage (database, filesystem, whatever) for the current object to hash mapping, ensuring consistency when using multiple processes. However, when retrieving or writing the data given a hash we can often avoid accessing the underlying storage. This means that repeated lookups happen quickly while still being able to reflect changes elsewhere; time savings can be substantial where large objects are being stored.
From CRAN
install.packages("storr")
or install the development version with
remotes::install_github("richfitz/storr@develop", upgrade = FALSE)
storr
comes with two vignettes:
vignette("storr")
outlines basic use and core implementation details.vignette("external")
shows how to use storr to cache external resources such as files, web resources, etc, using the storr_external
object.