llen hset <- reply integer

what is the limit of the number of items in zrange, list, hash hset etc?

Comment From: oranagra

I'm not aware of any limit, you are likely to run out of memory before you'll hit any other limit.

Comment From: hiqsociety

you cant have explanation like this because there's redis on flash version so basically there's no limit to the memory size... with supercomputers nowadays.

i'm developer for huge scale systems. what's the limit? 2^32?

Comment From: oranagra

First, RedisOnFlash is a commercial product that is unrelated to this specific github repo, so if you ask the question here, you're question is about Redis, not RedisOnFlash. There are many other redis compatible products, which speak the redis protocol and support the redis command set, and many other redis forks and clones, each has it's own limitations, and they're outside the scope of this repo.

For Redis, let's assume that the limit (if there are no bugs) for all the data types you refereed to is the size of long, so in 32 bit builds, you're limited to 4 billion entries, and in 64 bit you're limited to 18 quintillion entries. either way, you'll run out of memory before you actually reach that. if you try to store such a key or query all it's fields in one command (e.g. LRANGE, HGETALL, HMSET), you're likely to hit a lower limit, for instance the query buffer (configurable size) is by default 1GB, and the maximum arguments (hard coded) a single command can take is 1 million.

Since i'm the author of RedisLabs RoF, i'll go out of my way to respond to your query about it too. In current RoF design, a value of a specific key can either be stored in RAM, or on Flash, i.e. in order to execute commands on a key, it has to be swapped into RAM, this means that all the above limitations with regards to field count of a single key remain the same.

Comment From: hiqsociety

great. we need this kind of explanation more. if the doc can hv it inside will be great for serious developers.

thx.