Redis是一个TCP服务器,支持请求/响应协议。 在Redis中,请求经过如下步骤完成:python
Redis 管道技术能够在服务端未响应时,客户端能够继续向服务端发送请求,并最终一次性读取全部服务端的响应。 redis
例如,redis-py默认在执行每次请求都会建立(链接池申请链接)和断开(归还链接池)一次链接操做,若是想要在一次请求中指定多个命令,则能够使用pipline实现一次请求指定多个命令,而且默认状况下一次pipline 是原子性操做。服务器
#!/usr/bin/env python # -*- coding:utf-8 -*- import redis pool = redis.ConnectionPool(host='10.211.55.4', port=6379) r = redis.Redis(connection_pool=pool) # pipe = r.pipeline(transaction=False) pipe = r.pipeline(transaction=True) pipe.set('name', 'sb') pipe.set('sex', 'male') #前面两个操做都成功才execute(),不然回滚 pipe.execute()
ps:默认的状况下,管道里执行的命令能够保证执行的原子性,执行pipe = r.pipeline(transaction=False)能够禁用这一特性。spa