"""
Redis简介:
这是一个基于内存的高效的键值型非关系型数据库,存取效率极高,而且支持
多种存储数据结构,使用也比较简单。
python中提供连接redis的第三方库redis.py。
在这个库中有两个类Redis和StrictRedis来实现Redis的命令操作。
Redis是StrictRedis的子类,主要功能是向后兼容旧版本库里的几个方法。
在这里使用官方推荐的StrictRedis。
"""
from redis import StrictRedis


# 连接redis需要IP地址,运行端口,数据库,密码。如果本地redis没有密码可以直接使用默认值
conn = StrictRedis(host="localhost", port=6379, db=0, password=None)
# <class 'redis.client.Redis'>  调用Redis子类对象生成连接实例
from redis.client import Redis
print(type(conn))
# 连接成功之后调用实例对象的set方法设置值
conn.set("name", "Yang")
# 调用get方法获取值
print(conn.get("name"))


# 连接池操作
from redis import ConnectionPool


# 连接池设置参数,max_connections最大连接数。其他不变
pool = ConnectionPool(host="localhost", port=6379, db=0, password=None, max_connections=5)
# 生成的连接池实例传递给StrictRedis连接redis数据库
redis = StrictRedis(connection_pool=pool)
# <class 'redis.client.Redis'>  一样的连接类型
print(type(redis))

"""
支持三种URL方案:
redis://[:password]@localhost:6379/0    # 正常的TCP套接字连接
rediss://[:password]@localhost:6379/0   # SSL包装的TCP套接字连接
unix://[:password]@/path/to/socket.sock?db=0    # 一个Unix Domain Socket连接
"""

# For example:举例
# 构造url
url = 'redis://:None@localhost:6379/0'
# 调用类ConnectionPool的from_url方法传递构造的url字符串
url_pool = ConnectionPool.from_url(url=url)
# 生成的连接池实例传递给StrictRedis连接redis数据库
url_redis = StrictRedis(connection_pool=url_pool)
# <class 'redis.client.Redis'>  一样的连接类型
print(type(url_redis))

View Code