There is four reasons why we might want to use caching for our requests to the UN Comtrade API:
The package offers a caching option, that is fairly easy to use.
When you set the respective argument to TRUE, a
directory named comtradr will be set up in your cache
directory. This is determined by the
rappdirs::user_cache_dir function. It has the default
values for a cache as used by cachem::cache_disk.
See here: https://cachem.r-lib.org/reference/cache_disk.html
and here: https://rappdirs.r-lib.org/reference/user_cache_dir.html
#### Now
q <- ct_get_data(reporter = "USA",
partner = c("DEU", "FRA", "JPN", "MEX"),
flow_direction = "import",
start_date = 2020,
end_date = 2023,
cache = TRUE) # <----- set this argument to TRUEIf you want to modify these parameters, you need to set environment
variables. You can use the
usethis::edit_r_environ(scope = 'project) function to set
them only for your current project.
âšī¸ Restart your R Session after setting the environment variables! đĄ
The parameters are:
COMTRADR_CACHE_MAX_SIZE = Maximum size of the cache,
in bytes. If the cache exceeds this size, cached objects will be removed
according to the value of the evict. Use Inf
for no size limit. The default is 1 gigabyte.
COMTRADR_CACHE_MAX_AGE = Maximum age of files in
cache before they are evicted, in seconds. Use Inf for no
age limit.
COMTRADR_CACHE_MAX_N = Maximum number of objects in
the cache. If the number of objects exceeds this value, then cached
objects will be removed according to the value of evict.
Use Inf for no limit of number of items.
R_USER_CACHE_DIR = Directory where the cached files
will be saved.
See here for the details on pruning and other functions of
cachem: https://cachem.r-lib.org/reference/cache_disk.html