storr: como Redis, pero con R
Probablemente no habéis utilizado nunca Redis. Redis es un sistema de almacenamiento basado en parejas clave-valor. Es similar a un diccionario de Python o a un entorno en R. Salvo que el almacenamiento es externo al proceso: los datos se guardan en un sistema distribuido y potencialmente ilimitado en cuanto a capacidad.
Si queréis probar algo parecido, además de los diccionarios y los entornos, podéis probar con storr
, un paquete reciente de R. Aquí tenéis una minisesión de ejemplo:
library(storr)
my.dir <- "/tmp/storr00"
st <- storr::storr_rds(my.dir)
# asigno un objeto a una clave
st$set("miclave", cars)
# recupero el objeto
head(st$get("miclave"))
# lista de objetos
st$list()
st$del("miclave")
Es instructivo examinar el directorio en cuestión e inspeccionar los contenidos. Con el driver rds
, como arriba, el almacenamiento se realiza en disco. De hecho, se realiza en ficheros .rds
, que tienen un formato propio de R para almacenar en disco un único objeto serializado (comprimido o no).
Alternativamente, se pueden usar otros motores de almacenamiento. Redis es, de hecho, uno de ellos.
Si queréis probar storr
, como casi siempre, recomiendo comenzar por las viñetas.