質問

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 ?

役に立ちましたか?

解決

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

他のヒント

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

pipe = r.pipeline(transaction=False)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top