连接数据库
redis库提供了StrictRedis
和Redis
两个类来建立Redis数据库的连接,但是请注意,在新版的redis库中,StrictRedis
类已经被废弃并成为了Redis
类的别名,所以这两个类现在是执行相同的功能。
建立数据库连接可以使用以下两种方式:
import redis
# 以默认方式连接到数据库
connection = redis.Redis(host='localhost', port=6379, db=0)
# 以URL方式连接到的数据库
connection = redis.Redis.from_url('redis://@localhost:6379/0')
Redis
类提供的数据库连接本身是线程安全的,可以将连接放到程序自身的一个模块中来引用使用。除此之外redis库还提供了连接池,同样是线程安全的,可以按照以下方式来使用。
import redis
# 以默认方式建立连接池
pool = redis.ConnectionPool(host='localhost', port=6379, db=0)
# 以URL方式建立连接池
pool = redis.ConnectionPool.from_url('redis://@localhost:6379/0')
# 使用连接池建立数据库连接
connection = redis.Redis(connection_pool=pool)
redis库在每次执行请求时都会创建和断开一次连接操作,这在进行多次请求时效率不高,所以redis库提供了管道(pipline)功能来一次性指定全部请求命令。使用格式示例如下:
import redis
pool = redis.ConnectionPool(host='localhost', port=6379, db=0)
connection = redis.Redis(connection_pool=pool)
pipe = connection.pipline()
# 进行请求操作
pipe.set('name', 'jack')
# 管道可以执行链式操作
pipe.set('role', 'admin').sadd('foo', 'boo')
# 提交全部操作
pipe.execute()