bwlewis / rredis

R client for Redis
http://illposed.net/
93 stars 25 forks source link

redisHMSet not working #4

Closed sherbert closed 12 years ago

sherbert commented 12 years ago

Using rredis 1.6.3, redisHMSet doesn't seem to work:

redisHMSet('A', list(x=1,y=2,z=3)) [1] TRUE redisHKeys('A') NULL redisHSet('A', 'x', 1) [1] TRUE redisHKeys('A') [[1]] [1] "x"

Starting from an empty Redis:

redisFlushAll() [1] "OK" redisKeys() NULL redisHMSet('A', list(x=1,y=2,z=3)) [1] TRUE redisKeys() [1] 120 1

It also gives errors when the list of fields and values is not exactly 3 elements that make me suspect something is going wrong internally:

redisHMSet('A', list(x=1)) Error in doTryCatch(return(expr), name, parentenv, handler) : ERR wrong number of arguments for 'hmset' command redisHMSet('A', list(x=1,y=2)) Error in doTryCatch(return(expr), name, parentenv, handler) : ERR wrong number of arguments for 'hmset' command redisHMSet('A', list(x=1,y=2,z=3)) [1] TRUE redisHMSet('A', list(x=1,y=2,z=3,w=4)) Error in doTryCatch(return(expr), name, parentenv, handler) : ERR wrong number of arguments for HMSET

bwlewis commented 12 years ago

Thanks,

An update that includes HMSet and a few other fixes is in process.

Best,

Bryan On May 9, 2012 6:23 PM, "sherbert" < reply@reply.github.com> wrote:

Using rredis 1.6.3, redisHMSet doesn't seem to work:

redisHMSet('A', list(x=1,y=2,z=3)) [1] TRUE redisHKeys('A') NULL redisHSet('A', 'x', 1) [1] TRUE redisHKeys('A') [[1]] [1] "x"

Starting from an empty Redis:

redisFlushAll() [1] "OK" redisKeys() NULL redisHMSet('A', list(x=1,y=2,z=3)) [1] TRUE redisKeys() [1] 120 1

It also gives errors when the list of fields and values is not exactly 3 elements that make me suspect something is going wrong internally:

redisHMSet('A', list(x=1)) Error in doTryCatch(return(expr), name, parentenv, handler) : ERR wrong number of arguments for 'hmset' command redisHMSet('A', list(x=1,y=2)) Error in doTryCatch(return(expr), name, parentenv, handler) : ERR wrong number of arguments for 'hmset' command redisHMSet('A', list(x=1,y=2,z=3)) [1] TRUE redisHMSet('A', list(x=1,y=2,z=3,w=4)) Error in doTryCatch(return(expr), name, parentenv, handler) : ERR wrong number of arguments for HMSET


Reply to this email directly or view it on GitHub: https://github.com/bwlewis/rredis/issues/4

bwlewis commented 12 years ago

Fixed. Along with an improved HMSet, and a new redisCmd generic low-level interface function.

Best,

Bryan

sherbert commented 12 years ago

Works for us now, thanks.