一 点睛
RedisPy库提供两个类Redis和StrictRedis来实现Redis的命令操作。
StrictRedis实现了绝大部分官方的命令,参数也一一对应,比如set()方法就对应Redis命令的set方法。而Redis是StrictRedis的子类,它的主要功能是用于向后兼容旧版本库里的几个方法。为了做兼容,它将方法做了改写,比如lrem()方法就将value和num参数的位置互换,这和Redis命令行的命令参数不一致。
官方推荐使用StrictRedis
二 安装
(venv) E:\WebSpider>pip install redis
三 连接Redis
1 代码
from redis import StrictRedis
# 传入了Redis的地址、运行端口、使用的数据库和密码信息。
# 在默认不传的情况下,这4个参数分别为localhost、6379、0和None。
# 声明了一个StrictRedis对象
redis = StrictRedis(host='localhost', port=6379, db=0)
# 接下来调用set()方法,设置一个键值对
redis.set('name', 'Bob')
# 然后将其获取并打印
print(redis.get('name'))
2 结果
E:\WebSpider\venv\Scripts\python.exe E:/WebSpider/5_3_2.py
b'Bob'
四 使用连接池连接
1 代码
from redis import StrictRedis, ConnectionPool
# 使用连接池
pool = ConnectionPool(host='localhost', port=6379, db=0)
redis = StrictRedis(connection_pool=pool)
redis.set('name', 'job')
# 然后将其获取并打印
print(redis.get('name'))
2 运行结果
E:\WebSpider\venv\Scripts\python.exe E:/WebSpider/5_3_2.py
b'job'
五 通过URL连接
1 点睛
支持三种格式:
- redis://[:password]@host:port/db
- rediss://[:password]@host:port/db
- unix://[:password]@/path/to/socket.sock?db=db
这3种URL分别表示创建Redis TCP连接、Redis TCP+SSL连接、Redis UNIX socket连接。我们只需要构造上面任意一种URL即可,其中password部分如果有则可以写,没有则可以省略。
2 代码
from redis import StrictRedis, ConnectionPool
url = 'redis://:@localhost:6379/0'
pool = ConnectionPool.from_url(url)
redis = StrictRedis(connection_pool=pool)
redis.set('name', 'meimei')
# 然后将其获取并打印
print(redis.get('name'))
3 结果
E:\WebSpider\venv\Scripts\python.exe E:/WebSpider/5_3_2.py
b'meimei'