These are intended for advanced use only.
createCache(
cachePath = getOption("reproducible.cachePath"),
drv = getDrv(getOption("reproducible.drv", NULL)),
conn = getOption("reproducible.conn", NULL),
force = FALSE,
verbose = getOption("reproducible.verbose")
)
loadFromCache(
cachePath = getOption("reproducible.cachePath"),
cacheId,
preDigest,
fullCacheTableForObj = NULL,
format = getOption("reproducible.cacheSaveFormat", "rds"),
.functionName = NULL,
.dotsFromCache = NULL,
drv = getDrv(getOption("reproducible.drv", NULL)),
conn = getOption("reproducible.conn", NULL),
verbose = getOption("reproducible.verbose")
)
extractFromCache(sc, elem, ifNot = NULL)
rmFromCache(
cachePath = getOption("reproducible.cachePath"),
cacheId,
drv = getDrv(getOption("reproducible.drv", NULL)),
conn = getOption("reproducible.conn", NULL),
format = getOption("reproducible.cacheSaveFormat", "rds")
)
CacheDBFile(
cachePath = getOption("reproducible.cachePath"),
drv = getDrv(getOption("reproducible.drv", NULL)),
conn = getOption("reproducible.conn", NULL)
)
CacheStorageDir(cachePath = getOption("reproducible.cachePath"))
CacheStoredFile(
cachePath = getOption("reproducible.cachePath"),
cacheId,
format = NULL,
obj = NULL
)
CacheDBTableName(
cachePath = getOption("reproducible.cachePath"),
drv = getDrv(getOption("reproducible.drv", NULL))
)
CacheIsACache(
cachePath = getOption("reproducible.cachePath"),
create = FALSE,
drv = getDrv(getOption("reproducible.drv", NULL)),
conn = getOption("reproducible.conn", NULL)
)A path describing the directory in which to create the database file(s)
A driver, passed to dbConnect
an optional DBIConnection object, as returned by dbConnect().
Logical. Should it create a cache in the cachePath,
even if it already exists, overwriting.
Numeric, -1 silent (where possible), 0 being very quiet,
1 showing more messaging, 2 being more messaging, etc.
Default is 1. Above 3 will output much more information about the internals of
Caching, which may help diagnose Caching challenges. Can set globally with an
option, e.g., options('reproducible.verbose' = 0) to reduce to minimal
The cacheId or otherwise digested hash value, as character string.
The list of preDigest that comes from CacheDigest of an object
The result of showCache, but subsetted for only
the cacheId being loaded or selected
The text string representing the file extension used normally by
different save formats; currently only "rds" or "qs". Defaults
to getOption("reproducible.cacheSaveFormat", "rds")
Optional. Used for messaging when this function is called from Cache
Optional. Used internally.
a cache tags data.table object
character string specifying a tagKey value to match
character (or NULL) specifying the return value to use if elem not matched
The optional object that is of interest; it may have an attribute "saveRawFile" that would be important.
Logical. Currently only affects non RSQLite default drivers.
If TRUE and there is no Cache database, the function will create one.
createCache() returns NULL (invisibly) and intended to be called for side effects;
loadFromCache() returns the object from the cache that has the particular cacheId;
extractFromCache() returns the tagValue from the cache corresponding to elem if found,
otherwise the value of ifNot;
rmFromCache() returns NULL (invisibly) and is intended to be called for side effects;
CacheDBFile() returns the name of the database file for a given Cache,
when useDBI() == FALSE, or NULL if TRUE;
CacheDBFiles() (i.e,. plural) returns the name of all the database files for
a given Cache when useDBI() == TRUE, or NULL if FALSE;
CacheStoredFile() returns the file path to the file with the specified hash value,
This can be loaded to memory with e.g., loadFile().;
CacheStorageDir() returns the name of the directory where cached objects are stored;
CacheStoredFile returns the file path to the file with the specified hash value;
CacheDBTableName() returns the name of the table inside the SQL database, if that
is being used;
CacheIsACache() returns a logical indicating whether the cachePath is currently
a reproducible cache database;
createCache() will create a Cache folder structure and necessary files, based on
the particular drv or conn provided;
loadFromCache() retrieves a single object from the cache, given its cacheId;
extractFromCache() retrieves a single tagValue from the cache based on
the tagKey of elem;
rmFromCache() removes one or more items from the cache, and updates the cache
database files.
data.table::setDTthreads(2)
newCache <- tempdir2()
createCache(newCache)
out <- Cache(rnorm(1), cachePath = newCache)
#> Saved! Cache file: 422bae4ed2f770cc.rds; fn: rnorm
cacheId <- gsub("cacheId:", "", attr(out, "tags"))
loadFromCache(newCache, cacheId = cacheId)
#> Loaded! Cached result from previous call
#> [1] 1.591054
#> attr(,".Cache")
#> attr(,".Cache")$newCache
#> [1] TRUE
#>
#> attr(,"tags")
#> [1] "cacheId:422bae4ed2f770cc"
#> attr(,"call")
#> [1] ""
rmFromCache(newCache, cacheId = cacheId)
# clean up
unlink(newCache, recursive = TRUE)
data.table::setDTthreads(2)
newCache <- tempdir2()
# Given the drv and conn, creates the minimum infrastructure for a cache
createCache(newCache)
CacheDBFile(newCache) # identifies the database file
#> [1] "/tmp/RtmpgIZ9bl/reproducible/ae0QJHoD/cache.db"
CacheStorageDir(newCache) # identifies the directory where cached objects are stored
#> [1] "/tmp/RtmpgIZ9bl/reproducible/ae0QJHoD/cacheOutputs"
out <- Cache(rnorm(1), cachePath = newCache)
#> Saved! Cache file: 422bae4ed2f770cc.rds; fn: rnorm
cacheId <- gsub("cacheId:", "", attr(out, "tags"))
CacheStoredFile(newCache, cacheId = cacheId)
#> [1] "/tmp/RtmpgIZ9bl/reproducible/ae0QJHoD/cacheOutputs/422bae4ed2f770cc.rds"
# The name of the table inside the SQL database
CacheDBTableName(newCache)
#> [1] "reproducible_ae0QJHoD"
CacheIsACache(newCache) # returns TRUE
#> [1] TRUE
# clean up
unlink(newCache, recursive = TRUE)