[ACCEPTED]-Batch value insert in Redis list-redis
You can use a pipeline, if using redis-py 5 you could check out the below, I ran this 4 on an aws instance of redis elasticache 3 and found the following:
import redis rs = redis.StrictRedis(host='host', port=6379, db=0) q='test_queue'
Ran in 0.17s for 2 10,000 vals
def multi_push(q,vals): pipe = rs.pipeline() for val in vals: pipe.lpush(q,val) pipe.execute()
Ran in 13.20s for 10,000 vals
def seq_push(q,vals): for val in vals: rs.lpush(q,val)
~ 78x 1 faster.
Yeah, it doesn't look like that's possible. You 2 might be able to use MULTI (transactions) to 1 store multiple values in an atomic sequence.
You can if you run 2.4. While it isn't marked 5 stable yet, it should be soon IIRC. that 4 said I'm running out of trunk and it's been 3 rock solid for me with many gigs of data 2 and a high rate if churn. For more details 1 on variadic commands see 2.4 and other news.
For lists, not that i am aware of, but depending 7 on your data volume, it might be efficient 6 for you to re-cast your data to use redis' multiset 5 command, HMSET, which does indeed give you 4 multiple inserts in a single call:
HMSET V3620 UnixTime 1309312200 UID 64002 username "doug" level "noob"
As you 3 expect, HMSET creates the redis keyed to 2 V3620. The key follows the HMSET command followed 1 by multiple field--value pairs:
HMSET key field 1 value 1 field 2 value 2
More Related questions