线程安全
- redis-py是线程安全的Redis客户端,可以放心的在多线程代码中使用
pip install redis
- 在python3.x中,所有的字符串响应返回bytes类型的数据;在python2.x中,所有的字符串响应返回str类型的数据
连接池
# 连接池
# 把他做成单例,写在一个文件里面,import它
import redis
# 拿到一个redis的连接池
Pool = redis.ConnectionPool(host='127.0.0.1', port=6379, max_connections=10)
# 从池子中拿一个链接
conn = redis.Redis(connection_pool=pool,decode_responses=True)
print(conn.get('name').decode('utf-8'))
操作
- 设置和超时
import redis
pool = redis.ConnectionPool(host='localhost', port=6379, decode_responses=True)
r = redis.Redis(connection_pool=pool)
r.set('food', 'mutton', ex=3) # key是"food" value是"mutton" 将键值对存入redis缓存
print(r.get('food')) # mutton 取出键food对应的值
- 不存在才设置
import redis
pool = redis.ConnectionPool(host='localhost', port=6379, decode_responses=True)
r = redis.Redis(connection_pool=pool)
print(r.set('fruit', 'watermelon', nx=True)) # True--不存在
# 如果键fruit不存在,那么输出是True;如果键fruit已经存在,输出是None