redux
provides an interface to Redis. Two interfaces are provided; a low level interface (allowing execution of arbitrary Redis commands with almost no interface) and a high-level interface with an API that matches all of the several hundred Redis commands.
As well as supporting Redis commands, redux
supports:
object_to_bin
/ bin_to_object
, which are thin wrappers around serialize
/ unserialize
redux
also provides a driver for storr
, allowing easy exchange of R objects between computers.
Create a hiredis object:
r <- redux::hiredis()
The hiredis object is a hiredis object with many (many methods), each corresponding to a different Redis command.
r
## <redis_api>
## Redis commands:
## APPEND: function
## AUTH: function
## BGREWRITEAOF: function
## BGSAVE: function
## ...
## ZSCORE: function
## ZUNIONSTORE: function
## Other public methods:
## clone: function
## command: function
## config: function
## initialize: function
## pipeline: function
## reconnect: function
## subscribe: function
## type: function
All the methods are available from this object; for example to set "foo" to "bar", use:
r$SET("foo", "bar")
See the package vignette for more information (vignette("redux")
) or https://richfitz.github.io/redux/vignettes/redux.html
To use the test suite, please set the environment variables
NOT_CRAN=true
REDUX_TEST_USE_REDIS=true
REDUX_TEST_ISOLATED=true
The first two opt in to using redis at all, and the third activates commands that may be destructive or undesirable to use on a production server.
Install from CRAN with
install.packages("redux")
or install the development version with
remotes::install_github("richfitz/redux", upgrade = FALSE)
There is considerable prior work in this space:
rredis
, the original R Redis clientRcppRedis
, Dirk Eddelbuettel's R Redis client, which greatly influenced the design decisions herehiredis-rb
, the Ruby Redis client that inspired the subscribe and pipeline support here.rrlite
, an almost identical interface to rlite
, a serverless-zero configuration database with an identical interface to RedisGPL-2 © Rich FitzJohn.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.