From 12c037ebe651b5beade21f65f35ff2b40f06024a Mon Sep 17 00:00:00 2001 From: naresh kumar Date: Mon, 28 Jul 2014 05:37:53 -0700 Subject: [PATCH] added functions for LPUSH and LRANGE --- NAMESPACE | 2 +- R/redis.R | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/NAMESPACE b/NAMESPACE index 637d2a7..c04b779 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -1,2 +1,2 @@ useDynLib(rediscc, cr_connect, cr_close, cr_get, cr_set, cr_del, cr_keys, cr_cmd, raw_unpack) -export(redis.connect, redis.get, redis.set, redis.close, redis.rm, redis.keys, redis.inc, redis.dec, redis.zero) +export(redis.connect, redis.get, redis.set, redis.close, redis.rm, redis.keys, redis.inc, redis.dec, redis.zero, redis.list, redis.list.range) diff --git a/R/redis.R b/R/redis.R index 2133109..ee69ae2 100644 --- a/R/redis.R +++ b/R/redis.R @@ -26,3 +26,12 @@ redis.set <- function(rc, keys, values) invisible(.Call(cr_set, rc, keys, if (is redis.close <- function(rc) invisible(.Call(cr_close, rc)) redis.keys <- function(rc, pattern=NULL) .Call(cr_keys, rc, pattern) + +redis.list <- function (rc, key, value) { + .Call(cr_cmd, rc, c("LPUSH", as.character(key), as.character(value))) +} + +redis.list.range <- function (rc, key ,start, end) { + r <- .Call(cr_cmd, rc, c("LRANGE", as.character(key), as.integer(start), as.integer(end))) + if (is.list(r)) lapply(r, function(o) .Call(raw_unpack, o)) else .Call(raw_unpack, r) +}