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