我使用redis-py来操作redis,我们的环境使用twemproxy作为redis代理。但是当连接到twemproxy时,看起来clinet管道不起作用。
import redis
client = redis.StrictRedis(host=host, port=port, db=0)
pipe = client.pipeline()
pipe.smembers('key')
print pipe.execute()
执行方法时抛出异常
redis.exceptions.ConnectionError: Socket closed on remote end
在twemproxy环境中,客户端管道不起作用或者是redis-py的问题?
答案 0 :(得分:2)
Bec twemproxy
不支持所有redis命令。
以下是实际支持的命令列表https://github.com/twitter/twemproxy/blob/master/src/proto/nc_redis.c
答案 1 :(得分:1)
redis-py管道默认使用事务,试试这个:
pipe = r.pipeline(transaction=False)