python redis
1.开启服务
 ./redis-server2.安装redis
sudo pip3 install redis
或
sudo easy_install redis
或
sudo python setup.py install3.建立连接
import redis
r = redis.StrictRedis(host='localhost', port=6379, db=0)
r.set('foo', 'bar')
True
r.get('foo')
'bar'4.实例
import redis # 导入redis 模块
r = redis.Redis(host='localhost', port=6379, decode_responses=True)
r.set('name', 'runoob') # 设置 name 对应的值
print(r['name'])
print(r.get('name')) # 取出键 name 对应的值
print(type(r.get('name'))) # 查看类型
输出结果
runoob runoob <class 'str'>
5.连接池
redis-py 使用 connection pool 来管理对一个 redis server 的所有连接,避免每次建立、释放连接的开销。
默认,每个Redis实例都会维护一个自己的连接池。可以直接建立一个连接池,然后作为参数 Redis,这样就可以实现多个 Redis 实例共享一个连接池
import redis # 导入redis 模块
pool = redis.ConnectionPool(host='localhost', port=6379, decode_responses=True)
r = redis.Redis(host='localhost', port=6379, decode_responses=True)
r.set('name', 'runoob') # 设置 name 对应的值
print(r.get('name')) # 取出键 name 对应的值
redis 基本命令 String
set(name, value, ex=None, px=None, nx=False, xx=False)
在 Redis 中设置值,默认,不存在则创建,存在则修改。
参数:
- ex - 过期时间(秒),过期之后变none
- px - 过期时间(毫秒),过期会变none
- nx - 如果设置为True,则只有name不存在时,当前set操作才执行。为了添加不存在的样本
- xx - 如果设置为True,则只有name存在时,当前set操作才执行。为了修改、更新已有的样本
1.ex - 过期时间(秒) 这里过期时间是3秒,3秒后p,键food的值就变成None
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对应的值
px - 过期时间(豪秒) 这里过期时间是3豪秒,3毫秒后,键foo的值就变成None
import redis
pool = redis.ConnectionPool(host='localhost', port=6379, decode_responses=True)
r = redis.Redis(connection_pool=pool)
r.set('food', 'beef', px=3)
print(r.get('food'))
nx - 如果设置为True,则只有name不存在时,当前set操作才执行 (新建)
import redispool = 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
xx - 如果设置为True,则只有name存在时,当前set操作才执行 (修改)
print((r.set('fruit', 'watermelon', xx=True)))   # True--已经存在
# 如果键fruit已经存在,那么输出是True;如果键fruit不存在,输出是None
参考资料
https://www.runoob.com/w3cnote/python-redis-intro.html
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号