管道可以一次执行多个命令,要么命令都执行成功,要么都失败
redis-py默认在执行每次请求都会创建(连接池申请连接)和断开(归还连接池)一次连接操作,如果想要在一次请求中指定多个命令,则可以使用pipline实现一次请求指定多个命令,并且默认情况下一次pipline 是原子性操作,减少连接Redis的次数,减少资源开销
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import
redis
pool
=
redis.ConnectionPool(host
=
'192.168.56.102'
, port
=
6379
)
r
=
redis.Redis(connection_pool
=
pool)
# pipe = r.pipeline(transaction=False)
pipe
=
r.pipeline(transaction
=
True
)
pipe.
set
(
'name'
,
'jinxf'
)
pipe.
set
(
'role'
,
'manager'
)
pipe.execute() #执行最后一步后,对Redis的数据操作会一起执行,类似rdbms数据库的事物