redis client pipeline does not work in twemproxy environment

2.1k views Asked by At

I use redis-py to operate on redis, and our environment use twemproxy as redis proxy. But looks clinet pipeline doesn't work when connect to twemproxy.

import redis

client = redis.StrictRedis(host=host, port=port, db=0)
pipe = client.pipeline()
pipe.smembers('key')
print pipe.execute()

it throws exception when do execute method

redis.exceptions.ConnectionError: Socket closed on remote end

In twemproxy environment, client pipeline doesn't work or it is an issue of redis-py ?

2

There are 2 answers

1
Nick Bondarenko On BEST ANSWER

Becouse of twemproxy supports not all redis commands.

Here is actual supported commands list https://github.com/twitter/twemproxy/blob/master/src/proto/nc_redis.c

0
ning On

redis-py pipeline will use transaction by default, try this:

pipe = r.pipeline(transaction=False)