rrlite
                                
                                
                                
                                    rrlite copied to clipboard
                            
                            
                            
                        R interface to rlite https://github.com/seppo0010/rlite
rrlite
R interface to rlite.  rlite is a "self-contained, serverless, zero-configuration, transactional redis-compatible database engine. rlite is to Redis what SQLite is to SQL.  And Redis is a data structures server; at the simplest level it can be used as a key-value store, but it can store other data types (hashes, lists, sets and more).
This package is designed to follow exactly the same interface as redux.
Usage
See redux for more details.
The main function here is rrlite::hirlite that creates a redis_api object that exposes the full Redis API.
con <- rrlite::hirlite()
con
## <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
This object has all the same methods as the corresponding object created by redux::hiredis() but operating on a rlite database.  The default database uses the magic path :memory: but persistent on-disk storage is possible (see ?rlite_config).
All the usual Redis-type things work:
con$SET("mykey", "mydata")
## [Redis: OK]
con$GET("mykey")
## [1] "mydata"
As with redux, commands are vectorised:
con$MSET(c("a", "b", "c"), c(1, 2, 3))
## [Redis: OK]
con$MGET(c("a", "b", "c"))
## [[1]]
## [1] "1"
##
## [[2]]
## [1] "2"
##
## [[3]]
## [1] "3"
Approach
This package aims to be a drop-in self-contained replacement for redux without requiring  Redis server.  Therefore almost the entire package (and tests) is automaticaly generated from redux.  The only installed files not generated are:
- R/hirlite.R (because documentation)
 - src/subscribe.c (just a stub)
 
Meta
- Please report any issues or bugs.
 - License: GPL
 - Get citation information for 
rrlitein R by doingcitation(package = 'rrlite') 

