MyNixOS website logo
Description

'Rcpp' Bindings for 'Redis' using the 'hiredis' Library.

Connection to the 'Redis' key/value store using the C-language client library 'hiredis' (included as a fallback) with 'MsgPack' encoding provided via 'RcppMsgPack' headers. It now also includes the pub/sub functions from the 'rredis' package.

RcppRedis: RcppRedis is a Rcpp and hiredis-based Redis client for R

CI License CRAN r-universe Dependencies Downloads Last Commit

Dependencies

The package has three dependencies that should be easily resolvable:

  • hiredis, the main C library for Redis, eg via libhiredis-dev on Debian or Ubuntu; as a fallback hiredis is also included
  • Rcpp for seamless R and C++ integration (on CRAN)
  • RApiSerialize for C-level serialization from the R API (on CRAN) , and if so, of sufficient vintage80

The package should install from source like any other R package. If the a hiredis library is found, it will be used. The pkg-config script is used to find the hiredis headers and library. Otherwise the embedded hiredis is used. All of Rcpp, RApiSerialized and RcppRedis can be installed directly from CRAN (which is the recommended approach) or GitHub.

MessagePack support is optional, and provided by RcppMsgPack package on CRAN which, if installed, is used to provide MessagePack headers for MessagePack serialization.

Getting Started

Run some of the scripts from the demo/ directory.

Status

The package works well, is used in production, and has been on CRAN for some time.

It is however only providing a subset of the Redis API.

History

This package was derived from an initial fork of an earlier attempt named 'rhiredis' by Wush Wu, and has since been extended in a number of ways. William Pleasant provided some early patches. Whit Armstrong and Russell Pierce contributed extensions.

Authors

Dirk Eddelbuettel and Bryan W. Lewis, based on earlier work by Wush Wu and with contributions by William Pleasant, Russell Pierce and Whit Armstrong.

License

GPL (>= 2)

Metadata

Version

0.2.4

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows