Frage

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 ?

War es hilfreich?

Lösung

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

Andere Tipps

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

pipe = r.pipeline(transaction=False)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top